Как очистить chrome.storage при запуске Chrome

Я работаю над расширением Chrome, которое использует страницу событий, и пытаюсь полностью очистить его локальное хранилище при каждом запуске Chrome.

Вот что у меня сейчас есть в eventPage.js:

chrome.runtime.onStartup.addListener(function() {
  chrome.storage.local.clear(function() {
    var error = chrome.runtime.lastError;
    if (error)
      console.error(error);
  });
});

// The below code retrieves the object of interest 'storage_var' 
// and does stuff with it

chrome.storage.local.get(init);

function init(storage_var) {
  // doing stuff, includes a bunch of listeners and helpers that
  // sometimes use chrome.storage.local.set to affect local storage
}

Это не похоже на работу. Я понимаю асинхронный характер этих функций, поэтому, пожалуйста, избавьте меня от долгих лекций о них. Это не попытка каким-то образом clear функция ведет себя синхронно; Я не просто не уверен, как я могу использовать clear функционировать должным образом, чтобы он делал как задумано.

Я думал о том, чтобы поставить все под chrome.runtime.onStartup.addListener вызвать функцию обратного вызова clear так что он вызывается только после завершения очистки, но это будет означать помещение по существу всей программы в прослушиватель запуска chrome, что не похоже на правильный подход. Я просто не уверен, что думаю об этом правильно.

Любая помощь и мудрость в отношении асинхронных функций будет принята с благодарностью. Пожалуйста, без суеты, я уже много читал:) Спасибо!

0 ответов