ServiceWorkerContainer: ready property

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