The matchAll() method of the Cache interface returns a Promise that resolves to an array of all matching responses in the Cache object.
On this page
Cache: matchAll() method
Syntax
js
matchAll()
matchAll(request)
matchAll(request, options)
Parameters
requestOptional-
The
Requestfor which you are attempting to find responses in theCache. This can be aRequestobject or a URL. If this argument is omitted, you will get a copy of all responses in this cache. optionsOptional-
An options object allowing you to set specific control options for the matching performed. The available options are:
-
ignoreSearch -
A boolean value that specifies whether the matching process should ignore the query string in the URL. If set to
true, the?value=barpart ofhttp://foo.com/?value=barwould be ignored when performing a match. It defaults tofalse. -
ignoreMethod -
A boolean value that, when set to
true, prevents matching operations from validating theRequesthttpmethod (normally onlyGETandHEADare allowed.) It defaults tofalse. -
ignoreVary -
A boolean value that when set to
truetells the matching operation not to performVARYheader matching — i.e. if the URL matches you will get a match regardless of theResponseobject having aVARYheader or not. It defaults tofalse.
-
Return value
A Promise that resolves to an array of all matching responses in the Cache object.
Note: Cache.match() is basically identical to Cache.matchAll(), except that rather than resolving with an array of all matching responses, it resolves with the first matching response only (that is, response[0]).
Examples
The following example retrieves all responses in the v1 cache matching the URL /, even including potential query parameters. By using { ignoreSearch: true }, using matchAll would retrieve / as well as /?value=bar.
It then logs the number of matching responses.
js
caches.open("v1").then((cache) => {
cache.matchAll("/", { ignoreSearch: true }).then((responses) => {
console.log(`Found ${responses.length} matching responses`);
});
});
Specifications
| Specification |
|---|
| Service Workers # cache-matchall |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
matchAll |
47 | 16 | 41 | No |
34Requires HTTPS. |
11.1 | 47 | 47 | 41 | 34 | 11.3 | 5.0 |
See also
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Cache/matchAll