大家。
我有一个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
内的每个对象清单?或者是否有一种更简单的方法可以将storageObject
内的所有对象作为参数传入?
编辑:
chrome.storage.local.get
期待一组对象,"keyValue1": {}, "keyValue2": {}
等等。
当它将这些对象传递给result
时,我可以将它们称为result["keyValue1"]
,但是如果我放入包含所有键的对象,我只能回调该对象
我需要的是一种动态传递storageObject
的所有属性而无需多次调用chrome.storage.local.get()
的方法。
答案 0 :(得分:0)
我的要求是将动态数量的参数传递到chrome.storage.local.get
函数中,每个函数都被视为一个对象,这些对象将全部作为封闭函数的result
被选中
原来我可以一直这样做。
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
for(...) {//Fill the storageArray with each key (number appended) at the end}
chrome.storage.local.get( storageArray, function (result) {...})
get
接受一个对象(花括号)或一个对象键数组。我从来没有让它工作,因为我一直忘记删除花括号。