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 mit dem cacheName
übereinstimmt, und löscht es, falls es gefunden wird. Dabei wird ein Promise
zurückgegeben, das auf true
aufgelöst wird.
Falls kein Cache
-Objekt gefunden wird, wird es auf 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
Beispiele
In diesem Code-Snippet warten wir auf ein Aktivierungsereignis und führen dann einen
waitUntil()
-Block aus, der alle alten,
nicht verwendeten Caches bereinigt, 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 mithilfe von CacheStorage.keys
zurück und überprüfen dann jeden Schlüssel, um festzustellen, ob er im Array enthalten ist. Falls 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);
}
}),
),
),
);
});
Spezifikationen
Specification |
---|
Service Workers # cache-storage-delete |
Browser-Kompatibilität
BCD tables only load in the browser