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