Cache.matchAll()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Метод matchAll() интерфейса Cache возвращает Promise, который разрешается в массив всех совпадающих запросов в объекте Cache.

Синтаксис

js
cache.matchAll(request, { options }).then(function (response) {
  // сделать что-нибудь с массивом ответов
});

Возвращаемое значение

Promise, который разрешается в массив всех совпадающих запросов в объекте Cache.

Примечание: Cache.match() в основном идентичен Cache.matchAll(), за исключением того, что последний разрешается с response[0] (т.е., первым совпадающим ответом) вместо response (всех совпадающих ответов в массиве).

Параметры

request

Запрос Request, который вы пытаетесь найти в Cache.

options Необязательный

Объект options, разрешающий вам установить особые команды контроля поиска соответствий ключа, выполняемого операцией match. Доступные параметры:

  • ignoreSearch: Булево значение Boolean, которое говорит должен ли процесс сопоставления ключей игнорировать строку запроса в url. Если равно true, часть ?value=bar запроса http://foo.com/?value=bar будет игнорироваться при поиске соответствий ключа . По умолчанию равно false.
  • ignoreMethod: Булево значение Boolean, которое, если равно true, предотвращает проверку метода http для запроса Request (обычно разрешены лишь GET и HEAD). По умолчанию равно false.
  • ignoreVary: Булево значение Boolean, которое, когда равно true, говорит процессу сопоставления ключей не проверять соответствие заголовка VARY — т.е., если URL совпадает, то вы получите соответствие независимо от того, содержит ли объект Response заголовок VARY, или нет. По умолчанию равно false.
  • cacheName: Строка DOMString, которая представляет собой имя кеша для поиска. Заметьте, что этот параметр игнорируется методом Cache.matchAll().

Примеры

js
caches.open("v1").then(function (cache) {
  cache.matchAll("/images/").then(function (response) {
    response.forEach(function (element, index, array) {
      cache.delete(element);
    });
  });
});

Спецификации

Specification
Service Workers
# cache-matchall

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также