W3cubDocs

/Web APIs

CacheStorage: has() method

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

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

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 Window.caches property in windows or through the WorkerGlobalScope.caches property in workers.

Syntax

has(cacheName)

Parameters

cacheName

A string 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((hasCache) => {
    if (!hasCache) {
      someCacheSetupFunction();
    } else {
      caches.open("v1").then((cache) => cache.addAll(myAssets));
    }
  })
  .catch(() => {
    // Handle exception here.
  });

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
has 40 16 41 27 11.1 40 41 27 11.3 4.0 40 11.3

See also

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage/has