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 in ein Array aller übereinstimmenden Antworten im Cache-Objekt aufgelöst wird.
Syntax
matchAll()
matchAll(request)
matchAll(request, options)
Parameter
requestOptional-
Der
Request, für den Sie versuchen, Antworten imCachezu finden. Dies kann einRequest-Objekt oder eine URL sein. Wenn dieses Argument weggelassen wird, erhalten Sie eine Kopie aller Antworten in diesem Cache. optionsOptional-
Ein Optionsobjekt, das es ermöglicht, bestimmte Kontrolloptionen für die durchzuführende Übereinstimmung festzulegen. Die verfügbaren Optionen sind:
ignoreSearch-
Ein boolescher Wert, der angibt, ob der Abgleichsprozess die Abfragezeichenfolge in der URL ignorieren soll. Wenn
truefestgelegt ist, würde der Teil?value=barvonhttps://example.com/?value=barbei der Durchführung einer Übereinstimmung ignoriert. Standardmäßig ist der Wertfalse. ignoreMethod-
Ein boolescher Wert, der, wenn er auf
truegesetzt ist, verhindert, dass Abgleichsoperationen diehttp-Methode desRequestvalidieren (normalerweise sind nurGETundHEADerlaubt). Standardmäßig ist der Wertfalse. ignoreVary-
Ein boolescher Wert, der, wenn er auf
truegesetzt ist, angibt, dass beim Abgleich dieVARY-Header-Übereinstimmung nicht durchgeführt werden soll – d.h. wenn die URL übereinstimmt, erhalten Sie eine Übereinstimmung unabhängig davon, ob dasResponse-Objekt einenVARY-Header hat oder nicht. Standardmäßig ist der Wertfalse.
Rückgabewert
Ein Promise, das in ein Array aller übereinstimmenden Antworten im Cache-Objekt aufgelöst wird.
Hinweis:
Cache.match() ist im Wesentlichen identisch mit Cache.matchAll(), außer dass es nicht mit einem Array aller übereinstimmenden Antworten aufgelöst wird, sondern nur mit der ersten übereinstimmenden Antwort (das heißt, response[0]).
Beispiele
Das folgende Beispiel ruft alle Antworten im v1-Cache ab, die mit der URL / übereinstimmen, selbst wenn potenzielle Abfrageparameter enthalten sind. Durch die Verwendung von { ignoreSearch: true } würden mit matchAll sowohl / als auch /?value=bar abgerufen.
Anschließend wird die Anzahl der übereinstimmenden Antworten protokolliert.
caches
.open("v1")
.then((cache) => cache.matchAll("/", { ignoreSearch: true }))
.then((responses) => {
console.log(`Found ${responses.length} matching responses`);
});
Spezifikationen
| Specification |
|---|
| Service Workers Nightly> # cache-matchall> |