--- title: CacheStorage.has() slug: Web/API/CacheStorage/has tags: - API - CacheStorage - Experimental - Method - Reference - Service Workers - ServiceWorker - has translation_of: Web/API/CacheStorage/has ---
{{APIRef("Service Workers API")}}
{{domxref("CacheStorage")}} インターフェイスの has()
メソッドは、{{domxref("Cache")}} オブジェクトが cacheName
と一致する場合に true
に解決される {{jsxref("Promise")}} を返します。
グローバルな {{domxref("WindowOrWorkerGlobalScope.caches", "caches")}} プロパティを介して CacheStorage
にアクセスできます。
caches.has(cacheName).then(function(boolean) { // true: キャッシュが存在します! });
cacheName
キャッシュが存在する場合は true
、存在しない場合は false
に解決される {{jsxref("Promise")}}。
次の例では、最初に 'v1'
というキャッシュが存在するかどうかを確認します。 その場合、アセットのリストを追加します。 そうでない場合、何らかのキャッシュセットアップ関数を実行します。
caches.has('v1').then(function(hasCache) { if (!hasCache) { someCacheSetupfunction(); } else { caches.open('v1').then(function(cache) { return cache.addAll(myAssets); }); } }).catch(function() { // ここで例外を処理します。 });
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Service Workers', '#cache-storage-has', 'CacheStorage: has')}} | {{Spec2('Service Workers')}} | 初期定義 |
{{Compat("api.CacheStorage.has")}}