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 sich in ein Array von allen passenden Antworten im Cache-Objekt auflöst.

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 durchgeführte Matching festzulegen. Die verfügbaren Optionen sind:

ignoreSearch

Ein boolescher Wert, der angibt, ob der Abgleichsprozess den Query-String in der URL ignorieren soll. Wenn auf true gesetzt, wird der ?value=bar Teil von http://foo.com/?value=bar beim Abgleich ignoriert. Standardmäßig ist es false.

ignoreMethod

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

ignoreVary

Ein boolescher Wert, der, wenn auf true gesetzt, dem Abgleich mitteilt, dass kein VARY-Header-Abgleich durchgeführt werden soll — 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 false.

Rückgabewert

Ein Promise, das zu einem Array von allen passenden Antworten im Cache-Objekt aufgelöst wird.

Note: Cache.match() ist grundsätzlich identisch zu Cache.matchAll(), außer, dass es anstelle der Auflösung mit einem Array aller passenden Antworten nur mit der ersten passenden Antwort aufgelöst wird (das heißt, response[0]).

Beispiele

Das folgende Beispiel ruft alle Antworten im v1 Cache ab, die mit der URL / übereinstimmen, auch inklusive potenzieller Query-Parameter. Durch Verwendung von { ignoreSearch: true } würde matchAll sowohl / als auch /?value=bar abrufen.

Anschließend protokolliert es die Anzahl der passenden 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