Google chrome extension Chrome扩展本地存储

Google chrome extension Chrome扩展本地存储,google-chrome-extension,local-storage,Google Chrome Extension,Local Storage,我正在开发一个GoogleChrome扩展,我也在使用localstorage。我试图使用从localstorage获得的值,但我只能得到一个未定义的。如何使用从localstorage接收到的值?您好,欢迎来到StackOverflow 假设您使用的是chrome.storage,您遇到的问题是因为chrome.storage的“获取”是异步的。 解决这个问题的一种方法是使用承诺 如以下示例所示: highlightColor = new Promise(function (resolve,

我正在开发一个GoogleChrome扩展,我也在使用localstorage。我试图使用从localstorage获得的值,但我只能得到一个未定义的
。如何使用从localstorage接收到的值?

您好,欢迎来到StackOverflow

假设您使用的是
chrome.storage
,您遇到的问题是因为
chrome.storage
的“获取”是异步的。 解决这个问题的一种方法是使用
承诺

如以下示例所示:

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
和localStore的项目,您可以检查repo。

最终有效!谢谢:)@Dragon21不客气。如果您认为这是问题的答案,那么您应该将问题标记为重复,而不是回答。@Makyen下次我会记住这一点。谢谢你的建议。和之间有很大的区别。你的回答把两者混淆了。即使从问题中不清楚两个问题中的哪一个是真正被问及的,你也不应该在回答中混淆这两个问题。注意:
localStorage
不是异步的。请回答主题中的问题:包括与问题重复的完整问题。包括manifest.json、一些后台/内容/弹出脚本/HTML。寻求调试帮助的问题(“为什么此代码不工作?”)必须包括:►想要的行为,►特定的问题或错误,以及►在问题本身中复制它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:“如何创建”,以及。根据公认的答案,这可能是以下内容的重复:嘿,仅供参考。如果你以自己的身份看待问题,那么解决方法不是将问题标题中的一个单词拼错。。。这是一个使问题更清楚或更具体的标志。@aug,被接受的答案,以及OP的评论,清楚地表明这个问题实际上不是关于。对所提供答案的接受表明这是一个问题,没有什么大不了的。关门了。我的评论是关于你的编辑,而不是你的评论。我同意你的意见。编辑:我理解在标题中编辑
localStorage
,而不是“sotrage”,因为LS在问题中重复了多次。不幸的是,在这种情况下,它导致问题进一步偏离了接受答案所暗示的问题的真正含义。这一切都归结为一个不清楚的问题。有一个MCVE将有助于解决问题。顺便说一句:当问题不清楚、重复等时,请随意否决和/或投票结束。