The matchAll()
method of the Cache
interface returns a Promise
that resolves to an array of all matching responses in the Cache
object.
The matchAll()
method of the Cache
interface returns a Promise
that resolves to an array of all matching responses in the Cache
object.
request
Optional
The Request
for which you are attempting to find responses in the Cache
. This can be a Request
object or a URL. If this argument is omitted, you will get a copy of all responses in this cache.
options
Optional
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=bar
part of http://foo.com/?value=bar
would be ignored when performing a match. It defaults to false
.
ignoreMethod
A boolean value that, when set to true
, prevents matching operations from validating the Request
http
method (normally only GET
and HEAD
are allowed.) It defaults to false
.
ignoreVary
A boolean value that when set to true
tells the matching operation not to perform VARY
header matching — i.e. if the URL matches you will get a match regardless of the Response
object having a VARY
header or not. It defaults to false
.
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]
).
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.
Specification |
---|
Service Workers # cache-matchall |
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 |
© 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