Połączenie synchroniczne w rozszerzeniu Google Chrome

Pracuję nad rozszerzeniem Google Chrome, które musi blokować / przekierowywać niektóre wychodzące żądania. W tym celu używamchrome.webRequest.onBeforeRequest słuchacz. Aby zdecydować, czy zablokować żądanie, czy nie, potrzebuję informacji o żądaniu karty. Mogę to wykorzystaćchrome.tabs.get(integer tabId, function callback), ale wywołanie zwrotne jest asynchroniczne, co oznacza, że ​​może zostać wywołane po zwróceniu wartościonBeforeRequest słuchacz.

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"]);

Czy istnieje sposób na zsynchronizowanie połączenia? A może inna opcja.

questionAnswers(1)

yourAnswerToTheQuestion