CacheStorage:delete() 方法
注意:此功能在 Web Workers 中可用。
CacheStorage 接口的 delete() 方法会查找与 cacheName 匹配的 Cache 对象,如果找到,则会删除该 Cache 对象并返回一个解析为 true 的 Promise。如果未找到 Cache 对象,则解析为 false。
您可以通过窗口中的 Window.caches 属性或在 worker 中的 WorkerGlobalScope.caches 属性来访问 CacheStorage。
语法
js
delete(cacheName)
参数
cacheName-
要删除的缓存的名称。
返回值
示例
在此代码片段中,我们等待一个 activate 事件,然后运行一个 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);
}
return undefined;
}),
),
),
);
});
规范
| 规范 |
|---|
| Service Workers # cache-storage-delete |
浏览器兼容性
加载中…