BackgroundFetchManager.fetch()
Метод fetch() интерфейса BackgroundFetchManager возвращает Promise, результатом обработки которого будет объект BackgroundFetchRegistration (en-US) для переданного массива URL-адресов или объектов Request.
Синтаксис
js
fetch(id, requests);
fetch(id, requests, options);
Параметры
id-
Определяемый разработчиком идентификатор, который может быть передан другим методам для получения
backgroundFetchRegistration(en-US). requests-
Объект
RequestInfoили массив таких объектов. optionsНеобязательный-
Объект
BackgroundFetchOptions.
Возвращаемое значение
Promise, результатом обработки которого будет объект BackgroundFetchRegistration (en-US).
Исключения
TypeError-
Возникает, если запрос не передан, либо если режим запроса 'no-cors', либо если нет сервис-воркера, либо если уже существует запрос с таким идентификатором, либо запрос завершился с ошибкой.
AbortErrorDOMException(en-US)-
Указывает на то, что запрос был прерван.
NotAllowedErrorDOMException(en-US)-
Указывает на то, что пользователю не было предоставлено разрешение на фоновые запросы.
Примеры
Следующие примеры показывают, как использовать fetch(), чтобы создать BackgroundFetchRegistration (en-US). При активном сервис-воркере, используйте свойство 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