This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The has()
method of the CacheStorage
interface returns a Promise
that resolves to true
if a Cache
object matches the cacheName
.
Syntax
caches.has(cacheName).then(function(boolean) { // true: your cache exists! });
Returns
a Promise
that resolves to true
if the cache exists or false if not.
Parameters
- cacheName
- A
DOMString
representing the name of theCache
object you are looking for in theCacheStorage
.
Examples
The following example first checks whether a cache called 'v1' exists. If so, we add a list of assets to it. If not (meaning the has()
promise would reject) then we run some kind of cache set-up function.
caches.has('v1').then(function(hasCache) { if (!hasCache) { someCacheSetupfunction(); } else { caches.open('v1').then(function(cache) { return cache.addAll(myAssets); }); } }).catch(function() { // Handle exception here. });
Specifications
Specification | Status | Comment |
---|---|---|
Service Workers The definition of 'CacheStorage' in that specification. |
Working Draft | Initial definition. |
Browser compatibility
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 40 | Yes | 441 | No | 27 | No |
Feature | Android webview | Chrome for Android | Edge mobile | Firefox for Android | Opera Android | iOS Safari | Samsung Internet |
---|---|---|---|---|---|---|---|
Basic support | 40 | 40 | Yes | 44 | 27 | Yes | ? |
1. Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR.)