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 der Cache-Schnittstelle 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

Der Request, für den 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 Kontrolloptionen für das durchzuführende Matching festzulegen. Die verfügbaren Optionen sind:

ignoreSearch

Ein boolescher Wert, der angibt, ob der Abfrage-String in der URL beim Matching ignoriert werden soll. Wenn auf true gesetzt, würde der Teil ?value=bar von http://foo.com/?value=bar bei der Übereinstimmung ignoriert. Standardmäßig ist er auf false gesetzt.

ignoreMethod

Ein boolescher Wert, der, wenn auf true gesetzt, Matching-Operationen daran hindert, die http-Methode des Request zu validieren (normalerweise sind nur GET und HEAD erlaubt.) Standardmäßig ist er auf false gesetzt.

ignoreVary

Ein boolescher Wert, der wenn auf true gesetzt, die Matching-Operation anweist, kein Matching des VARY-Headers durchzuführen — 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 er auf false gesetzt.

Rückgabewert

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

Note: Cache.match() ist im Wesentlichen identisch mit Cache.matchAll(), mit dem Unterschied, dass es nicht mit einem Array aller übereinstimmenden Antworten, sondern nur mit der ersten übereinstimmenden Antwort (d.h. response[0]) aufgelöst wird.

Beispiele

Das folgende Beispiel ruft alle Antworten im v1-Cache ab, die mit der URL / übereinstimmen, einschließlich möglicher Abfrageparameter. Durch die Verwendung von { ignoreSearch: true } würde matchAll sowohl / als auch /?value=bar abrufen.

Es protokolliert dann die Anzahl der übereinstimmenden Antworten.

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