ServiceWorkerRegistration: unregister() method

The unregister() method of the ServiceWorkerRegistration interface unregisters the service worker registration and returns a Promise. The promise will resolve to false if no registration was found, otherwise it resolves to true irrespective of whether unregistration happened or not (it may not unregister if someone else just called ServiceWorkerContainer.register() with the same scope.) The service worker will finish any ongoing operations before it is unregistered.

Note: This feature is available in Web Workers.

Syntax

js

unregister()

Parameters

None.

Return value

Promise resolves with a boolean indicating whether the service worker has unregistered or not.

Examples

The following simple example registers a service worker example, but then immediately unregisters it again:

js

if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js", { scope: "/" })
    .then((registration) => {
      // registration worked
      console.log("Registration succeeded.");
      registration.unregister().then((boolean) => {
        // if boolean = true, unregister is successful
      });
    })
    .catch((error) => {
      // registration failed
      console.error(`Registration failed with ${error}`);
    });
}

Specifications

Specification
Service Workers
# navigator-service-worker-unregister

Browser compatibility

BCD tables only load in the browser

See also