私はchrome.storage.sync.get
によって格納された値をチェックし、上記の格納された値が存在するとCSSファイルを挿入する関数を持っています。JavaScriptでasync関数からの戻り値を取得
私は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-from-as-asynchronous-call) – Makyen