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

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

NotAllowedError DOMException

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

Примеры

Следующие примеры показывают, как использовать fetch(), чтобы создать BackgroundFetchRegistration. При активном сервис-воркере, используйте свойство ServiceWorkerRegistration.backgroundFetch для доступа к объекту 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

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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
fetch
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.