Llamada síncrona en la extensión de Google Chrome
Estoy trabajando en la extensión de Google Chrome, que tiene que bloquear / redirigir algunas solicitudes salientes. Para ello, utilizochrome.webRequest.onBeforeRequest
oyente. Para decidir, ya sea para bloquear la solicitud o no, necesito que me envíen información sobre la pestaña. Puedo conseguirlo usandochrome.tabs.get(integer tabId, function callback)
, pero la devolución de llamada es asíncrona, lo que significa que puede llamarse después de que se devuelva el valor desdeonBeforeRequest
oyente.
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"]);
¿Hay alguna manera de sincronizar la llamada? O tal vez alguna otra opción.