--- title: Cache.keys() slug: Web/API/Cache/keys translation_of: Web/API/Cache/keys ---

{{APIRef("Service Workers API")}}{{SeeCompatTable}}

 {{domxref("Cache")}} 接口的 keys() 方法返回一个 {{jsxref("Promise")}} ,这个 {{jsxref("Promise")}} 将解析为一个{{domxref("Cache")}} 键的数组。

请求将以它们被插入的顺序返回。

注意: 具有相同URL但不同请求头的请求,如果它们的响应头中有 VARY 头部,则他们可以被返回。

语法

cache.keys(request,{options}).then(function(keys) {
  //do something with your array of requests
});

返回值

返回一个解析为 {{domxref("Cache")}} 键数组的 {{jsxref("Promise")}}。

参数

request {{optional_inline}}
如果一个相关键被指定,则返对应的 {{domxref("Request")}} 。
options {{optional_inline}}
一个对象,它的属性决定了 keys 操作中的匹配操作是如何执行的。可选的属性有:

示例

caches.open('v1').then(function(cache) {
  cache.keys().then(function(keys) {
    keys.forEach(function(request, index, array) {
      cache.delete(request);
    });
  });
})

规范

规范 状态 备注
{{SpecName('Service Workers', '#cache', 'Cache')}} {{Spec2('Service Workers')}} Initial definition.

浏览器兼容性

{{Compat("api.Cache.keys")}}

参见