我无法理解Google的storage.sync和storage.local。
我正在研究当前使用LocalStorage的google chrome扩展程序。 有一段呈现数据的代码。
var data = (localStorage.getItem('todoList')) ? JSON.parse(localStorage.getItem('todoList')):{
todo: [],
completed: []
};
以及此代码段对其进行更新
function dataObjectUpdated() {
localStorage.setItem('todoList', JSON.stringify(data));
}
我无法理解如何将localStorage方法(getItem和setItem)替换为似乎必须将键值对传递给的函数调用。
从Chrome扩展API同步存储的示例
chrome.storage.sync.set({key: value}, function() {
console.log('Value is set to ' + value);
});
对不起,我对javascript不太满意:)
这就是我尝试替换的第一段代码
var data = (chrome.storage.sync.get(['todoList'])) ? JSON.parse(chrome.storage.sync.get(['todoList'])):{
todo: [],
completed: []
};
这就是我尝试替换的第二段代码
function dataObjectUpdated() {
chrome.storage.sync.set({'todoList': JSON.stringify(data)});
}
因此,在修改了一段时间之后,我相信由于这是一个ASYNC调用,因此第一个代码段的原始逻辑不适用(如果我错了,请纠正我)
我不太确定如何重构第一个代码片段以与此ASYNC API配合使用。