如何解决此本地数据问题? (Chrome扩展程序,Javascript,jQuery)

时间:2014-10-13 05:58:17

标签: javascript jquery google-chrome google-chrome-extension local-storage

我试图在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

1 个答案:

答案 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!"
});

What is a callback function?