Расширение Google Chrome chrome.storage.sync вместо LocalStorage - PullRequest
0 голосов
/ 07 марта 2019

У меня проблемы с пониманием Google storage.sync и storage.local.

Я работаю над расширением Google Chrome, которое в настоящее время использует LocalStorage. Вот фрагмент кода, который отображает данные.

var data = (localStorage.getItem('todoList')) ? JSON.parse(localStorage.getItem('todoList')):{
    todo: [],
    completed: []
};

и этот фрагмент кода, который обновляет его

function dataObjectUpdated() {
   localStorage.setItem('todoList', JSON.stringify(data));
}

Я не понимаю, как метод localStorage (getItem и setItem) можно заменить на вызов функции, которому я должен передать пару ключ-значение.

Пример хранилища синхронизации из API расширения Chrome

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, моя исходная логика из первого фрагмента неприменима (поправьте меня, если я ошибаюсь)

Я не совсем уверен, как реорганизовать первый фрагмент кода для работы с этим API-интерфейсом ASYNC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...