У меня есть функция, которая проверяет сохраненное значение через chrome.storage.sync.get
и вставляет файл CSS после существования указанного сохраненного значения.Получить возвращаемое значение из async-функции в Javascript
Я понимаю, что chrome.storage.sync.get
является функцией асинхронного вызова, и возвращаемое значение не возвращается обратно, как ожидалось, к функции makeAggressive()
. Тем не менее, я не знаю, как еще написать этот код, чтобы получить результат if (result == 'aggressive')
, переданный makeAggressive()
.
Как получить сохраненное значение, проверить его значение и вернуть результат вызывающей функции?
chrome.tabs.onUpdated.addListener(function(tabId, info, tab) {
if (info.status == 'complete') applyCSS(tab);
});
function applyCSS(tab) {
var tabUrl = tab.url;
if (makeAggressive()) {
chrome.tabs.insertCSS(tab.id, {
file: "aggressive.css"
});
}
}
function makeAggressive() {
chrome.storage.sync.get(function(items) {
var result = items.intensityLevel;
if (result == 'aggressive') {
return true;
}
});
}
Возможный дубликат [? Как вернуть ответ от асинхронного вызова] (http://stackoverflow.com/questions/14220321/how-do- i-return-the-response-from-a-aynchronous-call) – Makyen