CacheStorage: has() method
  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
js
has(cacheName)
Parameters
cacheName- 
    
A string representing the name of the
Cacheobject you are looking for in theCacheStorage. 
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