我正在构建一个扩展,其基本概念是:
我得到1和2,它使用后台脚本和内容脚本。诀窍是可以阻止http请求的函数也必须返回它,此时请求被释放。文档在这里:
这是我在background.js中的实现:
browser.webRequest.onHeadersReceived.addListener(
processResponse,
{ urls: ["https://example.com/match/*"] },
["blocking", "responseHeaders"]
);
async function processResponse(details){
//Send a message to the tab's content script to inject HTML
browser.tabs.sendMessage(details.tabId, {"insertHTML": true});
await ???
return {requestHeaders: details.requestHeaders};
}
我非常确定这需要使用异步功能完成,如上所述。但是,await希望Promise能够继续解决,并且我无法在后台脚本中从特定插入HTML的内容脚本中将promise传递给该函数。
有什么想法吗?这让我有点困难了。
答案 0 :(得分:0)
创建一个仅在从后台脚本收到消息时解析的承诺。