ServiceWorkerContainer.ready

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support40

161

17

442 No27 No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support4040 ?4427 No4.0

1. From version 16: this feature is behind the Enable service workers preference.

2. Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR).

Document Tags and Contributors

Last updated by: slokhorst,