Используйте асинхронные вызовы в блокирующем обработчике webRequest в Chrome - PullRequest
0 голосов
/ 12 мая 2019

Я разрабатываю расширение, которое считывает информацию базы данных (пока что firebase), прежде чем перенаправить пользователя на другую страницу.

Сейчас я успешно реализовал логику статического перенаправления, просто выполнив:

function examineUrl(details) {
  return {redirectUrl: 'https://www.example.com/'};
}

Тогда мне бы хотелось реализовать асинхронную логику чтения из базы данных.Я прочитал в Использование асинхронных вызовов в блокирующем обработчике webRequest (это аналогичный вопрос, но для Firefox), что я могу вернуть Обещание, поэтому я пытаюсь:

function examineUrl(details) {
    return new Promise(function(resolve, reject) {
        return resolve( {redirectUrl: 'https://www.example.com/'})
    });
}

Но тамв Chrome не происходит перенаправленияВ документации по chrome это тоже не упоминается https://developer.chrome.com/extensions/webRequest,.Поэтому мне интересно, существует ли обходной путь для этого в Chrome?

1 Ответ

0 голосов
/ 13 мая 2019

Как отмечается в комментарии, в chrome такой поддержки нет.

Мой обходной путь - использовать асинхронный шаблон, читая данные в другом асинхронном блоке, а не внутри обработчика webRequest - спасибо за реструктуризацию кодадля лучшей реализации!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...