unregisterServiceWorkers static method

Future<void> unregisterServiceWorkers()

Releases any waiting worker and unregisters every service worker of this origin.

Implementation

static Future<void> unregisterServiceWorkers() async {
  try {
    final List<web.ServiceWorkerRegistration> registrations = (await web.window.navigator.serviceWorker.getRegistrations().toDart).toDart;
    for (final web.ServiceWorkerRegistration registration in registrations) {
      try {
        // Flutter's generated service worker activates immediately on this message.
        registration.waiting?.postMessage("skipWaiting".toJS);
        await registration.unregister().toDart;
      } catch (_) {}
    }
  } catch (_) {}
}