BackgroundFetchManager.fetch()

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

Синтаксис

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

Параметры

id

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

requests

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

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

Объект BackgroundFetchOptions.

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

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

Исключения

TypeError

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

AbortError DOMException (en-US)

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

NotAllowedError DOMException (en-US)

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

Примеры

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

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