CacheStorage
インターフェイスの keys()
メソッドは、CacheStorage
オブジェクトによって追跡されるすべての名前付き Cache
オブジェクトに対応する文字列をそれが作成された順番で含む配列で解決する Promise
を返します。 このメソッドを使用して、すべての Cache
オブジェクトのリストを反復処理します。
グローバルな caches
プロパティを介して CacheStorage
にアクセスできます。
構文
caches.keys().then(function(keyList) { // keyList で何かをする });
パラメーター
なし。
戻り値
CacheStorage
オブジェクト内の Cache
名の配列で解決する Promise
。
例
このコードスニペットでは、activate
イベントを待機してから、新しいサービスワーカーがアクティブ化される前に、古い未使用のキャッシュをクリアする waitUntil()
ブロックを実行します。 ここに、保持したいキャッシュの名前を含むホワイトリスト(cacheWhitelist
)があります。 keys()
を使用して CacheStorage
オブジェクトのキャッシュのキーを返し、各キーをチェックしてホワイトリストにあるかどうかを確認します。 ない場合は、CacheStorage.delete()
を使用して削除します。
then.addEventListener('activate', function(event) {
var cacheWhitelist = ['v2'];
event.waitUntil(
caches.keys().then(function(keyList) {
return Promise.all(keyList.map(function(key) {
if (cacheWhitelist.indexOf(key) === -1) {
return caches.delete(key);
}
});
})
);
});
仕様
仕様 | 状態 | コメント |
---|---|---|
Service Workers CacheStorage: keys の定義 |
草案 | 初期定義 |
ブラウザーの互換性
BCD tables only load in the browser