gpt4 book ai didi

javascript - chrome.storage 设置\得到澄清

转载 作者:数据小太阳 更新时间:2023-10-29 05:01:29 24 4
gpt4 key购买 nike

我想在我的分机中保存信息。我使用 Chrome.storage.sync 来做到这一点,但是当我在保存后立即阅读时,我无法正确检索该值。大概是做了什么蠢事吧......我尝试使用 chrome.storage.sync.clear 清除本地存储但这没有帮助。

我的保存函数是(看看 Currently 是怎么做到的):

save: function (type, key, data) {
Storage.storageOption(type).set({key:data}, function () {
console.log("saved data");
});

load: function (type, key) {
Storage.storageOption(type).get(key, function (object) {
console.log("read : " +object);
return object[key];
})}

并将其称为:

Storage.save("", 'path',username);
console.log(Storage.load("",'path'));

结果是:

saved data

undefined

read : [object Object]


更新:

好吧,显然我传递对象键值对的方式有问题,因为当我这样调用它时:chrome.storage.sync.set({'path':username}, function(){});

在控制台中打印存储会产生更好的输出:

undefined

shai

仍然不确定这个 undefined 是什么......


更新 2:

成功写入存储后,尝试在文档准备就绪时读取它。使用以下代码:

var dbdata = chrome.storage.sync.get("path",function(object){
return object['path'];
});

但是,该函数的主体并未执行,尽管文档说它在任何情况下都会运行,并且会在出现错误时设置 lastError。

有什么建议吗?

最佳答案

您传递给 chrome.storage.sync 的函数的返回值不符合您的预期。该值仅在回调中可用。它不会在 dbdata 中结束。

另外:

chrome.storage.sync 是一个异步 API。

您必须等待它完成才能检索数据。

chrome.storage.sync.set({'value': 12}, function() {
chrome.storage.sync.get("value", function(data) {
console.log("data", data);
});
});

输出是:

data Object {value: 12} 

manifest.json 必须包含:

“权限”:[ “贮存” ],

关于javascript - chrome.storage 设置\得到澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com