Cache: matchAll()-Methode

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

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die matchAll()-Methode des Cache-Interfaces gibt ein Promise zurück, das ein Array aller 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 Ihnen ermöglicht, spezifische Steuerungsoptionen für das durchgeführte Matching festzulegen. Die verfügbaren Optionen sind:

ignoreSearch

Ein boolescher Wert, der angibt, ob der Abgleichsprozess die Abfragezeichenfolge in der URL ignorieren soll. Wenn auf true gesetzt, würde der Teil ?value=bar von http://foo.com/?value=bar beim Matching ignoriert werden. Standardmäßig ist dies auf false gesetzt.

ignoreMethod

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

ignoreVary

Ein boolescher Wert, der bei Einstellung auf true angibt, dass der Abgleich ohne Berücksichtigung des VARY Headers 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. Es ist standardmäßig auf false gesetzt.

Rückgabewert

Ein Promise, das ein Array aller passenden Antworten im Cache-Objekt auflöst.

Note: Cache.match() ist im Grunde identisch mit Cache.matchAll(), außer dass es anstelle einer Auflösung mit einem Array aller passenden Antworten nur mit der ersten passenden Antwort auflöst (also response[0]).

Beispiele

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

Es gibt dann die Anzahl der passenden Antworten aus.

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

BCD tables only load in the browser

Siehe auch