此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Cache.delete()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2018年4月⁩.

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

Cache 接口的 delete() 方法查询 request 为 key 的 Cache 条目,如果找到,则删除该 Cache 条目并返回 resolve 为 true 的 Promise 。如果没有找到,则返回 resolve 为 false 的 Promise

语法

js
cache.delete(request,{options}).then(function(true) {
  //your cache entry has been deleted
});

返回值

如果 cache 条目被删除,则返回 resolve 为 true 的 Promise,否则,返回 resolve 为 false 的 Promise

参数

request

请求删除的 Request

options 可选

一个对象,其属性控制删除操作中如何处理匹配缓存。可用的选项是:

  • ignoreSearch: 一个 Boolean 值,指定匹配进程中是否忽略 url 中的查询字符串。如果设置为 truehttp://foo.com/?value=bar 中的 ?value=bar 部分在执行匹配时会被忽略。默认为 false
  • ignoreMethod: 一个 Boolean 值,当设置为 true 时,将阻止匹配操作验证{domxref("Request")}} HTTP 方法(通常只允许 GET 和 HEAD)。默认为 false
  • ignoreVary: 一个 Boolean 值,当设置为 true 时,告诉匹配操作不执行 VARY 头匹配。In other words, if the URL matches you will get a match regardless of whether the Response object has a VARY header. 默认为 false
  • cacheName: A DOMString that represents a specific cache to search within. Note that this option is ignored by Cache.delete().

示例

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

规范

Specification
Service Workers
# cache-delete

浏览器兼容性

参见