我想在我的扩展中保存信息。我用Chrome.storage.sync
这样做,但是当我保存后立即阅读时,我无法正确检索该值。大概是做了什么蠢事吧……
我尝试清除本地存储chrome.storage.sync.clear但这没有帮助。
我的保存功能是(看看如何现在做到了):
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'));
结果是这样的:
保存的数据
不明确的
读:[对象对象]
Update:
好吧,显然我传递对象的键值对的方式存在问题,因为当我这样调用它时:chrome.storage.sync.set({'path':username}, function(){});
在控制台中打印存储会产生更好的输出:
不明确的
shai
仍然不确定这个未定义是什么......
更新2:
成功写入存储后,尝试在文档准备就绪时读取它。
使用以下代码:
var dbdata = chrome.storage.sync.get("path",function(object){
return object['path'];
});
然而,函数的主体并没有被执行,尽管文档说它在任何情况下都会运行,并且在出现错误时会设置lastError。
有什么建议么?