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 April 2018.

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

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

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
delete

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
See implementation notes.

参见