CacheStorage: has() 方法

安全上下文:此功能仅在 安全上下文 (HTTPS) 中可用,并且仅在 支持的浏览器 中部分或全部可用。

注意:此功能在 Web 工作者 中可用。

has() 方法是 CacheStorage 接口的方法,它返回一个 Promise,如果 Cache 对象与 cacheName 匹配,则该 Promise 解析为 true

您可以通过窗口中的 Window.caches 属性或工作者中的 WorkerGlobalScope.caches 属性访问 CacheStorage

语法

js
has(cacheName)

参数

cacheName

表示您在 CacheStorage 中要查找的 Cache 对象名称的字符串。

返回值

一个 Promise,如果缓存存在,则解析为 true,否则解析为 false

示例

以下示例首先检查是否存在名为“v1”的缓存。如果存在,我们向其中添加资产列表。如果不存在,则运行某种缓存设置函数。

js
caches
  .has("v1")
  .then((hasCache) => {
    if (!hasCache) {
      someCacheSetupFunction();
    } else {
      caches.open("v1").then((cache) => cache.addAll(myAssets));
    }
  })
  .catch(() => {
    // Handle exception here.
  });

规范

规范
服务工作者
# cache-storage-has

浏览器兼容性

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

另请参见