CacheStorage.has()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
备注: 此特性在 Web Worker 中可用。
CacheStorage
接口的 has()
方法返回一个 Promise
对象,其在 Cache
对象有 cacheName
时兑现为 true
。
你可以通过窗口的 Window.caches
属性或 worker 的 WorkerGlobalScope.caches
属性访问 CacheStorage
。
语法
js
has(cacheName)
参数
- cacheName
-
一个表示你正在
CacheStorage
中查找的Cache
对象 name 的DOMString
.
返回值
一个 Promise
对象,缓存存在时兑现为 true
,否则兑现为 false
。
示例
在下面的例子中首先检测是否有名为 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