ServiceWorkerGlobalScope: skipWaiting() Methode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2018 browserübergreifend verfügbar.
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
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.
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
| Spezifikation |
|---|
| Service Workers Nightly> # service-worker-global-scope-skipwaiting> |