Web/API/CacheStorage/open

From Get docs

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

caches.open(cacheName).then(function(cache) {
  // Do something with your cache
});

Parameters

cacheName
The name of the cache you want to open.

Return value

A Promise that resolves to the requested Cache object.

Examples

This example is from the MDN sw-test example (see [[../../../../../../../mdn.github.io/sw-test/index|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 CacheStorage.open() to create a new cache, then using Cache.addAll() to add a series of assets to it.

self.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open('v1').then(function(cache) {
      return cache.addAll([
        '/sw-test/',
        '/sw-test/index.html',
        '/sw-test/style.css',
        '/sw-test/app.js',
        '/sw-test/image-list.js',
        '/sw-test/star-wars-logo.jpg',
        '/sw-test/gallery/bountyHunters.jpg',
        '/sw-test/gallery/myLittleVader.jpg',
        '/sw-test/gallery/snowTroopers.jpg'
      ]);
    })
  );

Specifications

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

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

open

Experimental'

Chrome

Full support 40

Edge

Full support 16

Firefox Full support 44

Notes'

Full support 44

Notes'

Notes' Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.

IE

No support No

Opera

Full support 27

Safari

Full support 11.1

WebView Android

Full support 40

Chrome Android

Full support 40

Firefox Android

Full support 44

Opera Android

Full support 27

Safari iOS

Full support Yes

Samsung Internet Android

Full support 4.0

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.
See implementation notes.'
See implementation notes.


See also