BackgroundFetchRegistration: match() method
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 match() method of the BackgroundFetchRegistration interface returns the first matching BackgroundFetchRecord.
Syntax
match(request)
match(request, options)
Parameters
request-
The
Requestfor which you are attempting to find records. This can be aRequestobject or a URL. optionsOptional-
An object that sets options for the
matchoperation. The available options are:ignoreSearchOptional-
A boolean value that specifies whether to ignore the query string in the URL. For example, if set to
truethe?value=barpart ofhttp://foo.com/?value=barwould be ignored when performing a match. It defaults tofalse. ignoreMethodOptional-
A boolean value. When
true, prevents matching operations from validating theRequesthttpmethod. Iffalse(the default) onlyGETandHEADare allowed. ignoreVaryOptional-
A boolean value. When
trueindicates that theVaryheader should be ignored. It defaults tofalse.
Return value
A Promise that resolves with the first BackgroundFetchRecord that matches
the request or undefined if no match is found.
Note: BackgroundFetchRegistration.match() is basically identical to
BackgroundFetchRegistration.matchAll(), except that rather than resolving with an array of
all matching records, it resolves with the first matching record only.
Exceptions
InvalidStateErrorDOMException-
Returned if you call
match()when there are no fetches in progress. This state will be reflected byBackgroundFetchRegistration.recordsAvailablebeing set tofalse.
Examples
In this example we look for a record with the URL "/ep-5.mp3". If a BackgroundFetchRecord is found then we can return some information about it.
bgFetch.match("/ep-5.mp3").then(async (record) => {
if (!record) {
console.log("No record found");
return;
}
console.log(`Here's the request`, record.request);
const response = await record.responseReady;
console.log(`And here's the response`, response);
});
Specifications
| Specification |
|---|
| Background Fetch # background-fetch-registration-match |
Browser compatibility
BCD tables only load in the browser