CacheStorage.has()

CacheStorage インターフェイスの has() メソッドは、Cache オブジェクトが cacheName と一致する場合に true に解決される Promise を返します。

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

構文

caches.has(cacheName).then(function(boolean) {
  // true: キャッシュが存在します!
});

パラメーター

cacheName
 CacheStorage で探している Cache オブジェクトの名前を表す DOMString

戻り値

キャッシュが存在する場合は true、存在しない場合は false に解決される Promise

次の例では、最初に 'v1' というキャッシュが存在するかどうかを確認します。 その場合、アセットのリストを追加します。 そうでない場合、何らかのキャッシュセットアップ関数を実行します。

caches.has('v1').then(function(hasCache) {
  if (!hasCache) {
    someCacheSetupfunction();
  } else {
    caches.open('v1').then(function(cache) {
      return cache.addAll(myAssets);
    });
  }
}).catch(function() {
  // ここで例外を処理します。
});

仕様

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

ブラウザーの互換性

BCD tables only load in the browser

関連情報