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
Request
for which you are attempting to find records. This can be aRequest
object or a URL. options
Optional-
An object that sets options for the
match
operation. The available options are:ignoreSearch
Optional-
A boolean value that specifies whether to ignore the query string in the URL. For example, if set to
true
the?value=bar
part ofhttp://foo.com/?value=bar
would be ignored when performing a match. It defaults tofalse
. ignoreMethod
Optional-
A boolean value. When
true
, prevents matching operations from validating theRequest
http
method. Iffalse
(the default) onlyGET
andHEAD
are allowed. ignoreVary
Optional-
A boolean value. When
true
indicates that theVary
header 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
InvalidStateError
DOMException
-
Returned if you call
match()
when there are no fetches in progress. This state will be reflected byBackgroundFetchRegistration.recordsAvailable
being 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