files/en-us/web/api/cachestorage/has/index.md
{{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.
has(cacheName)
cacheName
A {{jsxref("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((hasCache) => {
if (!hasCache) {
someCacheSetupFunction();
} else {
caches.open("v1").then((cache) => cache.addAll(myAssets));
}
})
.catch(() => {
// Handle exception here.
});
{{Specifications}}
{{Compat}}