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