我开发一个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调用,它会被发送到旧的电子邮件地址,因为它的更新异步。 –