CacheStorage.delete()

CacheStorage インターフェイスの delete() メソッドは、cacheName に一致する Cache オブジェクトを見つけ、見つかった場合は Cache オブジェクトを削除し、true に解決される Promise を返します。 Cache オブジェクトが見つからない場合、false に解決されます。

グローバルな caches プロパティを介して CacheStorage にアクセスできます。

構文

caches.delete(cacheName).then(function(boolean) {
  // キャッシュが削除されました
});

パラメーター

cacheName
削除するキャッシュの名前。

戻り値

Cache オブジェクトが見つかって削除された場合は true、そうでない場合は false に解決される Promise

このコードスニペットでは、activate イベントを待機してから、新しいサービスワーカーがアクティブになる前に、古い未使用のキャッシュをクリアする waitUntil() ブロックを実行します。 ここに、保持したいキャッシュ名の配列(cachesToKeep)があります。 CacheStorage.keys を使用して CacheStorage オブジェクトのキャッシュのキーを返し、各キーをチェックしてその配列内にあるかどうかを確認します。 ない場合は、delete() を使用して削除します。

this.addEventListener('activate', function(event) {
  var cachesToKeep = ['v2'];

  event.waitUntil(
    caches.keys().then(function(keyList) {
      return Promise.all(keyList.map(function(key) {
        if (cachesToKeep.indexOf(key) === -1) {
          return caches.delete(key);
        }
      }));
    })
  );
});

仕様

仕様 状態 コメント
Service Workers
CacheStorage: delete の定義
草案 初期定義

ブラウザーの互換性

BCD tables only load in the browser

関連情報