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 |
浏览器兼容性
加载中…