ServiceWorkerContainer.ready

The ready read-only property of the ServiceWorkerContainer interface provides a way of delaying code execution until a service worker is active. It returns a Promise that will never reject, and which waits indefinitely until the ServiceWorkerRegistration associated with the current page has an active worker. Once that condition is met, it resolves with the ServiceWorkerRegistration.

Syntax

navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) { ... });

Value

A Promise that will never reject, and which may eventually resolve with a ServiceWorkerRegistration.

Example

if ('serviceWorker' in navigator) {
  navigator.serviceWorker.ready
  .then(function(registration) {
    console.log('A service worker is active:', registration.active);

    // At this point, you can call methods that require an active
    // service worker, like registration.pushManager.subscribe()
  });
} else {
  console.log('Service workers are not supported.');
}

Specifications

Specification Status Comment
Service Workers
The definition of 'ServiceWorkerRegistration.ready' in that specification.
Working Draft Initial definition.

Browser compatibility

BCD tables only load in the browser