Spec-Zone.ru › Web APIs

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API