【发布时间】:2017-05-15 18:51:30
【问题描述】:
每个人。
我有一个chrome.storage.local.get 函数,它应该接受已经设置到本地内存的对象。它的结构类似于...
let numberOfRows = 3; //The number of generic rows of this information I'll need
let storageIDs = []; //The keys for the object that I'll need.
let storageArray = storageIDs.slice(0); //The default keys I need I'll number if I need to
let storageObject = {}; //The final object will be stored in here
for(...) {//Fill the storageArray with each key (number appended) at the end}
for(...) {//Turn each finalized key into an object stored in an storageObject}
chrome.storage.local.get({
(function(){
for(let index in storageObject) {
if (storageObject.hasOwnProperty(index)) {
return storageObject[index];
}
}
})()
}, function (result) {...}
所以...最终结果是我将设置行数并传入一个键数组,然后它将每个键转换为对 chrome 本地存储的对象引用。
但我不想多次调用storage.local.get,所以我想知道是否可以返回参数列表的storageObject inside 内的每个对象?或者有没有更简单的方法来获取storageObject 中的所有对象作为参数传入?
编辑:
chrome.storage.local.get 期待一组对象,"keyValue1": {}, "keyValue2": {} 等等。
当它将这些对象传递给result 时,我可以将它们作为result["keyValue1"] 回调,但如果我放入包含所有键的对象,我只能回调该对象。
我需要的是一种无需多次调用chrome.storage.local.get() 即可动态传递storageObject 的所有属性的方法。
【问题讨论】:
-
您的问题不清楚?预期的输出、格式是什么?
-
chrome.storage.local.get期望什么参数?一个普通的对象? -
澄清了
chrome.storage.local.get的期望和我的期望。该问题中的任何答案似乎都无法回答我的问题。它们似乎都是一个预设的参数列表,并声明每个参数的值。我正在寻找将未知数量的参数作为对象或数组中的单个对象传递。 -
乍一看,目标似乎是一个不必要的复杂化。查看所需代码的示例对我很有帮助。到目前为止,通过 ES2015
...扩展运算符或其 polyfill 似乎很容易实现。
标签: javascript google-chrome-extension