Web/API/CacheStorage/has

From Get docs

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 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.

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 WorkersThe definition of 'CacheStorage: has' in that specification. Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

has

Experimental'

Chrome

Full support 40

Edge

Full support 16

Firefox Full support 44

Notes'

Full support 44

Notes'

Notes' Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.

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.


See also