BackgroundFetchManager.fetch()
The fetch() method of the BackgroundFetchManager interface returns a Promise that resolves with a BackgroundFetchRegistration object for a supplied array of URLs and Request objects.
Syntax
let backgroundFetchRegistration = BackgroundFetchManager.fetch(id, requests [,options]);
Parameters
id-
A developer-defined identifier that can be passed to the other methods to retrieve a
backgroundFetchRegistration. requests-
A
RequestInfoobject or an array of such objects. optionsOptional-
A
BackgroundFetchOptionsobject.
Return value
A Promise that resolves with a BackgroundFetchRegistration object.
Exceptions
- TypeError
-
Raised if no request is provided, if the mode of a request is 'no-cors', if no service worker is present, a request already exists with the requested
id, or the request fails. - DOMException
-
This method may raise a
DOMExceptionof the following types:Exception Description AbortErrorIndicates the fetch was aborted. NotAllowedErrorIndicates that user permission has not been granted to make background fetches.
Examples
The following examples shows how to use fetch() to create a
BackgroundFetchRegistration. With an active
service worker, use the
ServiceWorkerRegistration.backgroundFetch property to access the
BackgroundFetchManager object and call its fetch()
method.
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,
});
});
Specifications
| Specification |
|---|
| Background Fetch # background-fetch-manager-fetch |
Browser compatibility
BCD tables only load in the browser