Как получить данные из chrome.storage? - PullRequest
0 голосов
/ 21 апреля 2019

При разработке расширения Chrome я использовал следующий код в фоновом скрипте:

session="abcd";
chrome.storage.sync.set({"session": session}, function () {
    console.log("session set as: " + session)
});

chrome.storage.sync.get(["session"], ({data}) => {
    console.log("session retrieved as: " + data.key)
});

Вторая функция возвращает undefined.Из моих поисков видно, что я делаю какую-то ошибку при вызове асинхронной функции.Но я не могу определить это.Как правильно написать этот код?

1 Ответ

0 голосов
/ 21 апреля 2019

CHROME.STORAGE.SYNC.SET / GET являются асинхронными функциями и, следовательно, GET должен быть в обратном вызове, в противном случае сеанс может быть неопределенным.

Это работает нормально.

session="abcd";

chrome.storage.sync.set({"session": session}, function () {
    console.log("session set as: " + session)
    chrome.storage.sync.get("session", functions(data) => {
        console.log("session retrieved as: " + data["session"])
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...