CacheStorage: delete() 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 delete()-Methode der CacheStorage-Schnittstelle findet das Cache-Objekt, das dem cacheName entspricht, und wenn es gefunden wird, wird das Cache-Objekt gelöscht und es wird ein Promise zurückgegeben, das zu true aufgelöst wird. Wenn kein Cache-Objekt gefunden wird, wird es zu false aufgelöst.
Sie können auf CacheStorage über die Window.caches-Eigenschaft in Fenstern oder über die WorkerGlobalScope.caches-Eigenschaft in Workern zugreifen.
Syntax
delete(cacheName)
Parameter
cacheName-
Der Name des Caches, den Sie löschen möchten.
Rückgabewert
Ein Promise, das zu true aufgelöst wird, wenn das Cache-Objekt gefunden und gelöscht wird, und ansonsten zu false.
Beispiele
In diesem Code-Snippet warten wir auf ein Aktivierungsereignis und führen dann einen waitUntil()-Block aus, der alle alten, ungenutzten Caches löscht, bevor ein neuer Service Worker aktiviert wird. Hier haben wir ein Array von Cache-Namen, die wir behalten möchten (cachesToKeep). Wir geben die Schlüssel der Caches im CacheStorage-Objekt mit CacheStorage.keys zurück und prüfen dann jeden Schlüssel, um festzustellen, ob er sich im Array befindet. Wenn nicht, löschen wir ihn mit delete().
this.addEventListener("activate", (event) => {
const cachesToKeep = ["v2"];
event.waitUntil(
caches.keys().then((keyList) =>
Promise.all(
keyList.map((key) => {
if (!cachesToKeep.includes(key)) {
return caches.delete(key);
}
return undefined;
}),
),
),
);
});
Spezifikationen
| Specification |
|---|
| Service Workers Nightly> # cache-storage-delete> |