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

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

js
caches
  .has("v1")
  .then((hasCache) => {
    if (!hasCache) {
      someCacheSetupFunction();
    } else {
      caches.open("v1").then((cache) => cache.addAll(myAssets));
    }
  })
  .catch(() => {
    // Handle exception here.
  });

Specifications

Specification
Service Workers
# cache-storage-has

Browser compatibility

BCD tables only load in the browser

See also