The has()
method of the CacheStorage
interface returns a Promise
that resolves to true
if a Cache
object matches the cacheName
.
You can access CacheStorage
through the global caches
property.
Syntax
caches.has(cacheName).then(function(boolean) { // true: your cache exists! });
Parameters
cacheName
- A
DOMString
representing the name of theCache
object you are looking for in theCacheStorage
.
Return value
a Promise
that resolves to true
if the cache exists or false
if not.
Examples
The following example first checks whether a cache called 'v1' exists. If so, we add a list of assets to it. If not 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: has' in that specification. |
Working Draft | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
has | Chrome Full support 40 | Edge Full support 16 | Firefox
Full support
44
| IE No support No | Opera Full support 27 | Safari Full support 11.1 | WebView Android Full support 40 | Chrome Android Full support 40 | Firefox Android Full support 44 | Opera Android Full support 27 | Safari iOS Full support Yes | Samsung Internet Android Full support 4.0 |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- See implementation notes.