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
matchAll()
matchAll(request)
matchAll(request, options)
Parameter
request
Optional-
Der
Request
, für den Sie versuchen, Antworten imCache
zu finden. Dies kann einRequest
-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
vonhttp://foo.com/?value=bar
bei der Übereinstimmung ignoriert. Standardmäßig ist er auffalse
gesetzt. ignoreMethod
-
Ein boolescher Wert, der, wenn auf
true
gesetzt, Matching-Operationen daran hindert, diehttp
-Methode desRequest
zu validieren (normalerweise sind nurGET
undHEAD
erlaubt.) Standardmäßig ist er auffalse
gesetzt. ignoreVary
-
Ein boolescher Wert, der wenn auf
true
gesetzt, die Matching-Operation anweist, kein Matching desVARY
-Headers durchzuführen — d.h. wenn die URL übereinstimmt, erhalten Sie eine Übereinstimmung, unabhängig davon, ob dasResponse
-Objekt einenVARY
-Header hat oder nicht. Standardmäßig ist er auffalse
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 mitCache.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.
caches.open("v1").then((cache) => {
cache.matchAll("/", { ignoreSearch: true }).then((responses) => {
console.log(`Found ${responses.length} matching responses`);
});
});
Spezifikationen
Specification |
---|
Service Workers # cache-matchall |