ServiceWorkerGlobalScope: skipWaiting() Methode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist nur in Service Workers verfügbar.

Die skipWaiting() Methode des ServiceWorkerGlobalScope Interfaces zwingt den wartenden Service Worker, der aktive Service Worker zu werden.

Verwenden Sie diese Methode zusammen mit Clients.claim(), um sicherzustellen, dass Updates des zugrunde liegenden Service Workers sofort sowohl für den aktuellen Client als auch für alle anderen aktiven Clients wirksam werden.

Syntax

js
skipWaiting()

Parameter

Keine.

Rückgabewert

Ein Promise, das mit undefined aufgelöst wird, nachdem versucht wurde, den neu installierten Service Worker zu aktivieren.

Beispiele

Während self.skipWaiting() jederzeit während der Ausführung eines Service Workers aufgerufen werden kann, hat es nur dann eine Wirkung, wenn es einen neu installierten Service Worker gibt, der sich ansonsten im waiting-Zustand befinden könnte. Daher wird self.skipWaiting() häufig innerhalb eines InstallEvent Handlers aufgerufen.

Das folgende Beispiel bewirkt, dass ein neu installierter Service Worker in den activating-Zustand wechselt, unabhängig davon, ob bereits ein aktiver Service Worker vorhanden ist.

js
self.addEventListener("install", (event) => {
  // The promise that skipWaiting() returns can be safely ignored.
  self.skipWaiting();

  // Perform any other actions required for your
  // service worker to install, potentially inside
  // of event.waitUntil();
});

Spezifikationen

Specification
Service Workers
# service-worker-global-scope-skipwaiting

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch