我有一個Chrome擴展,帶有執行的JavaScript文件。 JavaScript文件,使這個電話轉給background.html:在這個javascript中發生了什麼,我該如何解決它?
action.js
var action = "";
chrome.extension.sendRequest({method: "getLocalStorage", key: "action"},
function(response) {
alert(response.data);
action = response.data;
});
alert('action:'+action);
和background.html:
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
if (request.method == "getLocalStorage")
sendResponse({data: localStorage[request.key]});
else
sendResponse({});
我得到的行爲是一個警告方框上寫着「action:
」,然後是一個警告框,上面寫着「video
」,這是正確的行動值。
爲什麼這些警報框顯示失靈,爲什麼不變量action
獲得response.data
價值?這是否與sendRequest
方法延遲有關?我如何讓腳本等待,以便我可以獲得價值? (我需要多次執行此請求 - 我有4個值,我需要請求)
*「我該如何讓腳本等待......」*您不希望它等待。你需要的是適應你的代碼來處理異步執行。 – user113716