我覺得很蠢,因爲我一直試圖訪問這個響應變量一段時間,我想我不明白關閉或範圍足夠好,所以請幫助。無法從chrome.runtime.sendMessage訪問響應變量。 (關閉?)
我正在研究鉻擴展,我正在從contentcript.js發送一條消息到background.js並接收響應。現在我想返回響應並能夠在contentscript.js中使用它。好像你應該能夠做到......
function getWords(){
var words = [];
chrome.runtime.sendMessage({detail: "words"}, function(response) {
console.log(response) // prints ["word1, "word2" ..]
words = response;
});
return words; // = []
}
UPDATE: 謝謝,我明白我現在的問題是什麼,但還是想一些建議來解決它。 我的問題是,如果我立即需要它作爲另一個函數中的參數,請問後臺頁面以獲取單詞列表的最佳方式是什麼。我可以等待信息回來嗎?我應該從回調中調用其他函數嗎?還是有其他一些方法? 理想情況下,我想實際實現一個getWords(),直到列表返回時才返回...不可能?我也對開源庫感興趣。
請參閱Chrome擴展文檔中的[異步與同步方法](https://developer.chrome.com/extensions/overview.html#sync)。告訴我,當你在閱讀完這些概念之後仍然不理解這個概念時,那麼我會指出另一個例子。 –