ServiceWorkerRegistration.update()

The update() method of the ServiceWorkerRegistration interface attempts to update the service worker. It fetches the worker's script URL, and if the new worker is not byte-by-byte identical to the current worker, it installs the new worker. The fetch of the worker bypasses any browser caches if the previous fetch occurred over 24 hours ago.

Note: This feature is available in Web Workers.

Syntax

serviceWorkerRegistration.update();

Parameters

None.

Return value

A Promise that resolves with a ServiceWorkerRegistration object.

Example

The following simple example registers a service worker example then adds an event handler to a button so you can explicitly update the service worker whenever desired:

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw-test/sw.js', {scope: 'sw-test'}).then(function(registration) {
    // registration worked
    console.log('Registration succeeded.');
    button.onclick = function() {
      registration.update();
    }
  }).catch(function(error) {
    // registration failed
    console.log('Registration failed with ' + error);
  });
};

Specifications

Specification
Service Workers 1
# service-worker-registration-update

Browser compatibility

BCD tables only load in the browser

See also