--- title: CacheStorage.delete() slug: Web/API/CacheStorage/delete tags: - API - CacheStorage - Experimental - Method - Reference - Service Workers - ServiceWorker - delete translation_of: Web/API/CacheStorage/delete ---
{{APIRef("Service Workers API")}}
{{domxref("CacheStorage")}} インターフェイスの delete()
メソッドは、cacheName
に一致する {{domxref("Cache")}} オブジェクトを見つけ、見つかった場合は {{domxref("Cache")}} オブジェクトを削除し、true
に解決される {{jsxref("Promise")}} を返します。 {{domxref("Cache")}} オブジェクトが見つからない場合、false
に解決されます。
グローバルな {{domxref("WindowOrWorkerGlobalScope.caches", "caches")}} プロパティを介して CacheStorage
にアクセスできます。
caches.delete(cacheName).then(function(boolean) { // キャッシュが削除されました });
cacheName
{{domxref("Cache")}} オブジェクトが見つかって削除された場合は true
、そうでない場合は false
に解決される {{jsxref("Promise")}}。
このコードスニペットでは、activate
イベントを待機してから、新しいサービスワーカーがアクティブになる前に、古い未使用のキャッシュをクリアする {{domxref("ExtendableEvent.waitUntil","waitUntil()")}} ブロックを実行します。 ここに、保持したいキャッシュ名の配列(cachesToKeep
)があります。 {{domxref("CacheStorage.keys")}} を使用して {{domxref("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); } })); }) ); });
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Service Workers', '#cache-storage-delete', 'CacheStorage: delete')}} | {{Spec2('Service Workers')}} | 初期定義 |
{{Compat("api.CacheStorage.delete")}}