ServiceWorkerGlobalScope: skipWaiting() 方法
注意:此功能僅在 Service Workers 中可用。
ServiceWorkerGlobalScope 介面的 skipWaiting() 方法強制等待中的 Service Worker 成為活動 Service Worker。
將此方法與 Clients.claim() 一起使用,以確保 Service Worker 的更新能立即生效,同時影響當前客戶端和所有其他活動客戶端。
語法
js
skipWaiting()
引數
無。
返回值
一個 Promise,在嘗試啟用新安裝的 Service Worker 後,以 undefined 解析。
示例
雖然 self.skipWaiting() 可以在 Service Worker 執行的任何時候被呼叫,但只有在新安裝的 Service Worker 可能保持 waiting 狀態時,它才會生效。因此,通常在 InstallEvent 處理程式中呼叫 self.skipWaiting()。
下面的示例會使新安裝的 Service Worker 進入 activating 狀態,而不管是否已有活動 Service Worker。
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();
});
規範
| 規範 |
|---|
| Service Workers # service-worker-global-scope-skipwaiting |
瀏覽器相容性
載入中…