CacheStorage:delete() 方法
注意:此功能在Web Workers 中可用。
delete()
方法是 CacheStorage
接口的方法,它查找与 cacheName
匹配的 Cache
对象,如果找到,则删除该 Cache
对象并返回一个 Promise
,该 Promise
解析为 true
。如果未找到 Cache
对象,则解析为 false
。
您可以通过窗口中的 Window.caches
属性或工作线程中的 WorkerGlobalScope.caches
属性访问 CacheStorage
。
语法
js
delete(cacheName)
参数
cacheName
-
要删除的缓存的名称。
返回值
示例
在此代码片段中,我们等待激活事件,然后运行一个 waitUntil()
块,该块在激活新的 Service Worker 之前清除任何旧的、未使用的缓存。这里我们有一个我们想要保留的缓存名称数组 (cachesToKeep
)。我们使用 CacheStorage.keys
返回 CacheStorage
对象中缓存的键,然后检查每个键是否在数组中。如果不是,我们使用 delete()
删除它。
js
this.addEventListener("activate", (event) => {
const cachesToKeep = ["v2"];
event.waitUntil(
caches.keys().then((keyList) =>
Promise.all(
keyList.map((key) => {
if (!cachesToKeep.includes(key)) {
return caches.delete(key);
}
}),
),
),
);
});
规范
规范 |
---|
Service Workers # cache-storage-delete |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。