Cache:keys() 方法

安全上下文:此功能仅在安全上下文(HTTPS)中可用,在某些或所有支持的浏览器中。

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

keys() 方法是 Cache 接口的方法,它返回一个Promise,该 Promise 解析为一个 Request 对象数组,表示 Cache 的键。

这些请求按插入顺序返回。

注意:如果其响应设置了 VARY 标头,则即使 URL 相同但标头不同的请求也可以被返回。

语法

js
keys()
keys(request)
keys(request, options)

参数

request 可选

要返回的 Request,如果需要特定的键。这可以是 Request 对象或 URL。

options 可选

一个对象,其属性控制在 keys 操作中如何进行匹配。可用的选项包括:

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.keys() 忽略。

返回值

一个Promise,该 Promise 解析为一个 Request 对象数组。

示例

js
caches.open("v1").then((cache) => {
  cache.keys().then((keys) => {
    keys.forEach((request, index, array) => {
      cache.delete(request);
    });
  });
});

规范

规范
Service Workers
# cache-keys

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅