Chrome扩展名localStorage

时间:2017-02-17 00:05:41

标签: google-chrome-extension local-storage

我正在开发Google Chrome扩展程序,而且我还使用localstorage。我试图使用从本地存储中获得的值,但我能得到的只是undefined。如何使用localstorage中收到的值?

1 个答案:

答案 0 :(得分:0)

您好,欢迎来到StackOverflow!

假设您正在使用chrome.storage,您遇到的问题是因为chrome.storage中的“获取”是异步的。 解决此问题的方法是使用promises

如下例所示:

highlightColor = new Promise(function (resolve, reject) {
    chrome.storage.local.get("color", function (item) {
        resolve(item);
    });
});

然后,当承诺准备就绪时,您可以使用其值:

highlightColor.then(function (item) {
    if(item.color) {
        $(".jscolor").val(item.color);
    }
});

您可以阅读有关promises here的更多信息。如果您想检查我正在使用promises和localStore的项目,您可以查看this repo。