我開發一個Chrome擴展,並具有索姆問題林與chrome.runtime.sendMessage
功能Chrome擴展runtime.sendmessage等待對
下面是我的代碼設置:
chrome.runtime.sendMessage({ method : "getLocalStorage", key: "email" }, function (response) {
console.log("the response has been received");
});
console.log("I am here");
$.ajax({});
此打印出:
I am here
the response has been received
所以我的問題是,chrome.runtime.sendMessage與其餘代碼運行異步。所以我可以做的是將ajax放入sendMessage的響應函數中。唯一的問題是,我有3個事件的sendMessage返回不同的變量,我需要在做Ajax調用之前,所以這不幸是不可行的選擇。
有沒有什麼方法可以在所有sendMessage調用完成之前暫停ajax調用?
爲什麼不,計算收到的響應,並且當您有3個響應時,執行ajax調用? – Lauromine
您是否嘗試重塑['chrome.storage' API](https://developer.chrome.com/extensions/storage)?你是否在這裏查詢背景以閱讀'localStorage'?如果你這樣做,我可以展示一個更有效的方法。 – Xan
@xan是的,我打電話給背景以檢索存儲在localStorage中的信息。用戶輸入他/她的電子郵件作爲存儲在擴展本地存儲中的設置。然後,在執行ajax調用之前,我通過sendMessage檢索這個。所以現在我的問題是,如果我更新我的電子郵件,並呼籲ajax調用,它會被髮送到舊的電子郵件地址,因爲它的更新異步。 –