BackgroundFetchManager

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Note: This feature is available in Web Workers.

The BackgroundFetchManager interface of the Background Fetch API is a map where the keys are background fetch IDs and the values are BackgroundFetchRegistration objects.

Instance properties

None.

Instance methods

fetch() Experimental

Returns a Promise that resolves with a BackgroundFetchRegistration object for a supplied array of URLs and Request objects.

get() Experimental

Returns a Promise that resolves with the BackgroundFetchRegistration associated with the provided id or undefined if the id is not found.

getIds() Experimental

Returns the IDs of all registered background fetches.

Examples

The example below shows how to get an instance of BackgroundFetchManager from a ServiceWorkerRegistration object and calls fetch() to download an audio file in the background.

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,
    },
  );
});

Specifications

Specification
Background Fetch
# background-fetch-manager

Browser compatibility

BCD tables only load in the browser