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
.
Синтаксис
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()
.
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