Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

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 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 true festgelegt ist, würde der Teil ?value=bar von https://example.com/?value=bar bei der Durchführung einer Übereinstimmung ignoriert. Standardmäßig ist der Wert false.

ignoreMethod

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

ignoreVary

Ein boolescher Wert, der, wenn er auf true gesetzt ist, angibt, dass beim Abgleich die VARY-Header-Übereinstimmung nicht 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 der Wert false.

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.

js
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

Browser-Kompatibilität

Siehe auch