FetchEvent: свойство request
Базовая поддержка Широко доступно
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.
Примечание: Эта функция доступна только в Рабочих потоках.
Чтение только свойство request интерфейса FetchEvent возвращает объект Request, который вызвал обработчик события.
Это свойство не может быть null (с версии 46 в Firefox). Если запрос не предоставлен каким-либо другим способом, объект конструктора options должен содержать запрос (см. FetchEvent()).
Значение
Объект Request.
Примеры
Этот фрагмент кода взят из примера Fetch для рабочих потоков (запустить пример Fetch). Обработчик события onfetch прослушивает событие fetch. При срабатывании отправьте промис обратно на контролирующую страницу для FetchEvent.respondWith(). Эта промис разрешается к первому сопоставленному запросу URL в объекте Cache. Если совпадения не найдено, код получает ответ из сети.
Код также обрабатывает исключения, возникающие во время операции fetch(). Обратите внимание, что ответ с HTTP-ошибкой (например, 404) не вызовет исключения. Он вернёт обычный объект ответа с соответствующим кодом ошибки.
self.addEventListener("fetch", (event) => {
console.log("Handling fetch event for", event.request.url);
event.respondWith(
caches.match(event.request).then((response) => {
if (response) {
console.log("Found response in cache:", response);
return response;
}
console.log("No response found in cache. About to fetch from network…");
return fetch(event.request)
.then((response) => {
console.log("Response from network is:", response);
return response;
})
.catch((error) => {
console.error("Fetching failed:", error);
throw error;
});
}),
);
});
Спецификации
| Спецификация |
|---|
| Рабочие потоки # fetch-event-request |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
request |
40 | 17 | 44 | 27 | 11.1 | 40 | 44 | 27 | 11.3 | 4.0 | 40 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/FetchEvent/request