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
RequestInfo
object or an array of such objects. options
Optional-
A
BackgroundFetchOptions
object.
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
DOMException
of the following types:Exception Description AbortError
Indicates the fetch was aborted. NotAllowedError
Indicates 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