The open() method of the CacheStorage interface returns a Promise that resolves to the Cache object matching the cacheName.

You can access CacheStorage through the global caches property.

Note: If the specified Cache does not exist, a new cache is created with that cacheName and a Promise that resolves to this new Cache object is returned.

Syntax {
  // Do something with your cache


The name of the cache you want to open.

Return value

A Promise that resolves to the requested Cache object.


This example is from the MDN sw-test example (see sw-test running live). Here we wait for an InstallEvent to fire, then runs waitUntil() to handle the install process for the app. This consists of calling to create a new cache, then using Cache.addAll() to add a series of assets to it.

self.addEventListener('install', function(event) {
  event.waitUntil('v1').then(function(cache) {
      return cache.addAll([


Specification Status Comment
Service Workers
The definition of 'CacheStorage: open' in that specification.
Working Draft Initial definition.

Browser compatibility

BCD tables only load in the browser

See also