Подтвердить что ты не робот

Могу ли я, чтобы несколько сотрудников службы перехватили один и тот же запрос на выборку?

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

Могу ли я, чтобы оба обслуживающего персонала перехватили одни и те же выборки и обеспечили какой-то приоритет/порядок между ними? В качестве альтернативы есть другой шаблон, который я должен использовать?

Спасибо

4b9b3361

Ответ 1

Нет, вы не можете. Разрешается регистрировать только одного обслуживающего работника для каждой области, поэтому последний удар предыдущей версии, если только область не является более конкретной, в этом случае в заявке присутствует наиболее конкретно.

Тем не менее, вы можете подключить несколько обработчиков fetch, и все они обработают запрос, поэтому, возможно, вы можете написать свою функциональность в разделенном script и позволить работнику сервисной службы включать ваш файл через importScripts().

Первый обработчик, вызывающий event.respondWith() синхронно (на самом деле, вы не можете вызвать этот метод асинхронно) выигрывает, а остальные обработчики, пытающиеся вызвать, будут бросать.

Приоритезация и координация требуют связующего ПО. Вы можете проверить ServiceWorkerWare или sw-toolbox.