我试图将本地数据保存在chrome扩展中,但它不起作用。"getData"函数一直返回未定义的值。我做错了什么?是的,我在清单中的权限下确实有"存储"。
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
使用回调函数,方法如下:
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!"
});
什么是回调函数?