CacheStorage.has()

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

CacheStorage 对象的 **has()**方法返回一个 Promise 对象,当 Cache 对象有 cacheName 时被处理为 true

语法

caches.has(cacheName).then(function(boolean) {
  // true: 缓存存在
});

返回值

返回一个 Promise 对象,缓存存在时 resolve 的布尔值为 true 否则为 false

参数

cacheName

一个表示你正在 CacheStorage 中查找的 Cache 对象 name 的 DOMString.

例子

在下面的例子中首先检测是否有名为 v1 的缓存存在,如果存在我们会向其添加内容,如果不存在我们会做些对应的初始化动作。

js
caches
  .has("v1")
  .then(function (hasCache) {
    if (!hasCache) {
      someCacheSetupfunction();
    } else {
      caches.open("v1").then(function (cache) {
        return cache.addAll(myAssets);
      });
    }
  })
  .catch(function () {
    // 处理异常
  });

规范

Specification
Service Workers
# cache-storage-has

浏览器兼容性

BCD tables only load in the browser

参考