ServiceWorkerContainer: ready property

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

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.


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


if ("serviceWorker" in navigator) {
  navigator.serviceWorker.ready.then((registration) => {
    console.log(`A service worker is active: ${}`);

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


Service Workers
# navigator-service-worker-ready

Browser compatibility

BCD tables only load in the browser