我正在为Google Chrome开发扩展程序,并且正在监视HTTP请求。在chrome.webRequest.onHeadersReceived
的事件处理程序中,我尝试进行延迟。它不能异步等待(与Firefox中的WebExtensions
不同),它不支持Thread.Sleep
或CriticalSection
或ResetEvent
之类的东西。我看到的唯一解决方案是旋转等待,这是一个非常糟糕的选择。即使同步XMLHTTPRequest
也已被弃用,并且不起作用。
var headersReceived = function (e) {
/// ?????? some method to delay synchronously
return {cancel: false};
};
chrome.webRequest.onHeadersReceived.addListener(headersReceived,
{urls: ["*://*/*"]},
["blocking", "responseHeaders"]);