Back to Content

CacheStorage: has() method

files/en-us/web/api/cachestorage/has/index.md

latest1.4 KB
Original Source

{{APIRef("Service Workers API")}}{{SecureContext_Header}}{{AvailableInWorkers}}

The has() method of the {{domxref("CacheStorage")}} interface returns a {{jsxref("Promise")}} that resolves to true if a {{domxref("Cache")}} object matches the cacheName.

You can access CacheStorage through the {{domxref("Window.caches")}} property in windows or through the {{domxref("WorkerGlobalScope.caches")}} property in workers.

Syntax

js-nolint
has(cacheName)

Parameters

  • cacheName
    • : A string representing the name of the {{domxref("Cache")}} object you are looking for in the {{domxref("CacheStorage")}}.

Return value

A {{jsxref("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

{{Specifications}}

Browser compatibility

{{Compat}}

See also

  • Using Service Workers
  • {{domxref("Cache")}}
  • {{domxref("Window.caches")}} and {{domxref("WorkerGlobalScope.caches")}}