--- 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")}}