Обычное дело. Пишу расширение для Хрома, однако до этого на JS ничего не писал. Поэтому сталкиваюсь с особенностями языка.
Использую хромовское хранилище, а API хрома работает асинхронно, в следствии чего алерт срабатывает ещё до того, как в переменную запишется значение (Если я правильно всё понимаю).
Нужно запихнуть значение этой структуры в переменную, что бы дальше с ней работать:
var valueStorage
function getStorage() {
chrome.storage.local.get(['key'], function(result) {
console.log('Value currently is ' + result.key);
valueStorage = result.key;
});
}
getStorage();
alert (valueStorage);
Вроде бы почитал про кэллбеки. И посмотрел на похожие проблемы. Всё таки вопрос заезженный. Но видимо мой мозг пэхапэшника отказывается воспринимать происходящее и я не могу никак подставить примеры под свою ситуацию.
Ну ткните носом, пожалуйста, как правильно обернуть, что бы выполнилось всё последовательно. Что б алерт сработал уже после записи в переменную. И что б дальше в коде я мог спокойно использовать эту переменную вне всяких функций.