我试图在Chrome扩展程序中保存本地数据,但它无法正常工作。 ' getData'函数保持返回undefined。我究竟做错了什么?是的,我确实有'存储'根据我在清单中的权限。
var storage = chrome.storage.local
var getData = function(key) {
var give;
storage.get(null, function(objects) {
$.each(objects, function(index, value) {
if (index == key) {
give = value
console.log(value) //OUTPUT: Hello!
}
})
})
return give
}
storage.set({"test" : "Hello!"})
console.log(getData("test")) //OUTPUT: undefined
答案 0 :(得分:1)
使用回调函数,这样:
var storage = chrome.storage.local;
var getData = function(key, callback) {
storage.get(null, function(objects) {
$.each(objects, function(index, value) {
if (index == key) {
callback(null, value);
}
});
});
};
storage.set({"test" : "Hello!"});
getData("test", function (err, data) { // err will be null
console.log(data); // "Hello!"
});