Cache: delete() 方法

Baseline 已广泛支持

此功能已成熟,可跨多种设备和浏览器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有浏览器中可用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

注意:此功能在 Web Workers 中可用。

Cache 接口的 delete() 方法会查找键为指定请求的 Cache 条目,如果找到,则删除该 Cache 条目并返回一个解析为 truePromise。如果未找到 Cache 条目,则解析为 false

语法

js
delete(request)
delete(request, options)

参数

请求

您想要删除的 Request。这可以是一个 Request 对象或一个 URL。

options 可选

一个对象,其属性控制 delete 操作中的匹配方式。可用选项有:

ignoreSearch

一个布尔值,指定匹配过程是否应忽略 URL 中的查询字符串。如果设置为 true,则在执行匹配时会忽略 http://foo.com/?value=bar 中的 ?value=bar 部分。默认为 false

ignoreMethod

一个布尔值,当设置为 true 时,会阻止匹配操作验证 RequestHTTP 方法(通常只允许 GETHEAD)。默认值为 false

ignoreVary

一个布尔值,当设置为 true 时,会告诉匹配操作不要执行 VARY 标头匹配。换句话说,如果 URL 匹配,无论 Response 对象是否具有 VARY 标头,您都会获得匹配。默认值为 false

cacheName

一个字符串,代表要搜索的特定缓存。请注意,此选项将被 Cache.delete() 忽略。

返回值

一个 Promise,如果缓存条目已被删除,则解析为 true,否则解析为 false

示例

js
caches
  .open("v1")
  .then((cache) => cache.delete("/images/image.png"))
  .then((response) => {
    someUIUpdateFunction();
  });

规范

规范
Service Workers
# cache-delete

浏览器兼容性

另见