BackgroundFetchManager.fetch()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Метод fetch() интерфейса BackgroundFetchManager возвращает Promise, результатом обработки которого будет объект BackgroundFetchRegistration для переданного массива URL-адресов или объектов Request.

Синтаксис

js
fetch(id, requests);
fetch(id, requests, options);

Параметры

id

Определяемый разработчиком идентификатор, который может быть передан другим методам для получения backgroundFetchRegistration.

requests

Объект RequestInfo или массив таких объектов.

options Необязательный

Объект BackgroundFetchOptions.

Возвращаемое значение

Promise, результатом обработки которого будет объект BackgroundFetchRegistration.

Исключения

TypeError

Возникает, если запрос не передан, либо если режим запроса 'no-cors', либо если нет сервис-воркера, либо если уже существует запрос с таким идентификатором, либо запрос завершился с ошибкой.

AbortError DOMException (en-US)

Указывает на то, что запрос был прерван.

NotAllowedError DOMException (en-US)

Указывает на то, что пользователю не было предоставлено разрешение на фоновые запросы.

Примеры

Следующие примеры показывают, как использовать fetch(), чтобы создать BackgroundFetchRegistration. При активном сервис-воркере, используйте свойство ServiceWorkerRegistration.backgroundFetch (en-US) для доступа к объекту BackgroundFetchManager и вызовите его метод fetch().

js
navigator.serviceWorker.ready.then(async (swReg) => {
  const bgFetch = await swReg.backgroundFetch.fetch(
    "my-fetch",
    ["/ep-5.mp3", "ep-5-artwork.jpg"],
    {
      title: "Episode 5: Interesting things.",
      icons: [
        {
          sizes: "300x300",
          src: "/ep-5-icon.png",
          type: "image/png",
        },
      ],
      downloadTotal: 60 * 1024 * 1024,
    },
  );
});

Спецификации

Specification
Background Fetch
# background-fetch-manager-fetch

Совместимость с браузерами

BCD tables only load in the browser