Google Chrome扩展程序chrome.storage.sync而不是LocalStorage

时间:2019-03-07 00:14:54

标签: javascript google-chrome

我无法理解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配合使用。

0 个答案:

没有答案