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.


caches.has(cacheName).then(function(boolean) {
  // true: your cache exists!


A DOMString representing the name of the Cache object you are looking for in the CacheStorage.

Return value

a Promise that resolves to true if the cache exists or false if not.


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) {
  } else {'v1').then(function(cache) {
      return cache.addAll(myAssets);
}).catch(function() {
  // Handle exception here.


Specification Status Comment
Service Workers
The definition of 'CacheStorage: has' in that specification.
Working Draft Initial definition.

Browser compatibility

BCD tables only load in the browser

See also