The matchAll() method of the Cache interface returns a Promise that resolves to an array of all matching responses in the Cache object.


cache.matchAll(request, {options}).then(function(response) {
  // do something with the response array


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 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.

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'v1').then(function(cache) {
  cache.matchAll('/images/').then(function(response) {
    response.forEach(function(element, index, array) {


Service Workers 1
# cache-matchall

Browser compatibility

BCD tables only load in the browser

See also