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

js
delete(cacheName)

Parameter

cacheName

Der Name des Caches, den Sie löschen möchten.

Rückgabewert

Ein Promise, das auf true aufgelöst wird, wenn das Cache-Objekt gefunden und gelöscht wird, und andernfalls auf false.

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().

js
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

Siehe auch