【发布时间】:2017-10-18 18:29:50
【问题描述】:
我想在 onMessage 监听器中使用异步等待:
chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) =>{
var key = await getKey();
sendResponse(key);
});
但是当我发送消息时我得到了不确定。
来自 chrome.runtime.onMessage.addListener 的文档:
当事件监听器返回时,该函数失效,除非 您从事件侦听器返回 true 表示您希望发送一个 异步响应(这将保持消息通道对 另一端直到调用 sendResponse)。
这在我使用回调时有效。
chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) =>{
getKey(key => {
sendResponse(key);
});
return true;
});
但是我想利用 await 语法。但它似乎不起作用,仍然返回 undefined:
chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) =>{
var key = await getKey();
sendResponse(key);
return true;
});
【问题讨论】:
标签: javascript google-chrome-extension async-await