Cache.delete()

Experimental: 这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

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

语法

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 (en-US) 值,指定匹配进程中是否忽略 url 中的查询字符串。如果设置为 true,http://foo.com/?value=bar 中的 ?value=bar 部分在执行匹配时会被忽略。默认为 false。
  • ignoreMethod: 一个 Boolean (en-US) 值,当设置为 true 时,将阻止匹配操作验证{domxref("Request")}} HTTP 方法(通常只允许 GET 和 HEAD)。默认为 false。
  • ignoreVary: 一个 Boolean (en-US) 值,当设置为 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().

示例

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

规范

Specification
Service Workers
# cache-delete

浏览器兼容性

BCD tables only load in the browser

参见