MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

ServiceWorkerContainer.ready

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

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 ServiceWorkerRegistration.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.
Editor's Draft Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 38 44.0 (44.0)[1] No support 24 No support
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Basic support No support 38 44.0 (44.0) (Yes) No support ? No support

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

Document Tags and Contributors

 Contributors to this page: jpmedley, jeffposnick, chrisdavidmills, kscarfone
 Last updated by: jpmedley,