Cache: matchAll() Methode

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.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die matchAll() Methode des Cache Interfaces gibt ein Promise zurück, das zu einem Array aller übereinstimmenden Antworten im Cache Objekt aufgelöst wird.

Syntax

js
matchAll()
matchAll(request)
matchAll(request, options)

Parameter

request Optional

Das Request Objekt, für das Sie versuchen, Antworten im Cache zu finden. Dies kann ein Request Objekt oder eine URL sein. Wenn dieses Argument weggelassen wird, erhalten Sie eine Kopie aller Antworten in diesem Cache.

options Optional

Ein Optionsobjekt, das es Ihnen ermöglicht, spezifische Steuerungsoptionen für das durchgeführte Matching festzulegen. Die verfügbaren Optionen sind:

ignoreSearch

Ein Boolean-Wert, der angibt, ob der Abgleichsprozess die Query-String in der URL ignorieren soll. Wenn auf true gesetzt, wird der Teil ?value=bar von http://foo.com/?value=bar bei der Durchführung eines Abgleichs ignoriert. Es ist standardmäßig auf false gesetzt.

ignoreMethod

Ein Boolean-Wert, der, wenn auf true gesetzt, verhindert, dass die Abgleichsoperationen die http Methode des Request validieren (normalerweise sind nur GET und HEAD erlaubt.) Standardmäßig ist es auf false gesetzt.

ignoreVary

Ein Boolean-Wert, der, wenn auf true gesetzt, der Matching-Operation sagt, dass kein VARY Header-Abgleich durchgeführt wird — d.h. wenn die URL übereinstimmt, erhalten Sie eine Übereinstimmung unabhängig davon, ob das Response Objekt einen VARY Header hat oder nicht. Standardmäßig ist es auf false gesetzt.

Rückgabewert

Ein Promise, das zu einem Array aller übereinstimmenden Antworten im Cache Objekt aufgelöst wird.

Hinweis:>Cache.match() ist im Wesentlichen identisch mit Cache.matchAll(), außer dass es mit nur der ersten übereinstimmenden Antwort aufgelöst wird (d.h. response[0]).

Beispiele

Das folgende Beispiel ruft alle Antworten im v1 Cache ab, die mit der URL / übereinstimmen, einschließlich potenzieller Abfrageparameter. Indem { ignoreSearch: true } verwendet wird, würde matchAll sowohl / als auch /?value=bar abrufen.

Es werden dann die Anzahl der übereinstimmenden Antworten protokolliert.

js
caches
  .open("v1")
  .then((cache) => cache.matchAll("/", { ignoreSearch: true }))
  .then((responses) => {
    console.log(`Found ${responses.length} matching responses`);
  });

Spezifikationen

Specification
Service Workers
# cache-matchall

Browser-Kompatibilität

Siehe auch