Synchroner Anruf in der Google Chrome-Erweiterung

Ich arbeite an der Google Chrome-Erweiterung, die einige ausgehende Anfragen blockieren / umleiten muss. Zu diesem Zweck benutze ichchrome.webRequest.onBeforeRequest Hörer. Um zu entscheiden, ob eine Anfrage blockiert werden soll oder nicht, benötige ich einige Informationen, von denen die Tab-Anfrage gesendet wird. Ich kann es mit bekommenchrome.tabs.get(integer tabId, function callback)Callback ist jedoch asynchron, was bedeutet, dass es aufgerufen werden kann, nachdem der Wert von zurückgegeben wurdeonBeforeRequest Hörer.

chrome.webRequest.onBeforeRequest.addListener(function(details){
 chrome.tabs.get(details.tabId, function(tab){
  // get info from tab
 }); 
 // based on info from tab return redirect or not
}), {
 urls: ["<all_urls>"],
 types: ["main_frame"]
}, ["blocking"]);

Gibt es eine Möglichkeit, den Anruf zu synchronisieren? Oder vielleicht eine andere Option.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage