ServiceWorkerContainer:ready 属性
注意:此功能在 Web Workers 中可用。
ready
属性是 ServiceWorkerContainer
接口的只读属性,它提供了一种方法,可以在服务工作者处于活动状态之前延迟代码执行。它返回一个 Promise
,该 Promise 永远不会被拒绝,并且会无限期地等待,直到与当前页面关联的 ServiceWorkerRegistration
拥有一个 active
工作者。一旦满足该条件,它将解析为 ServiceWorkerRegistration
。
值
一个 Promise
,它永远不会被拒绝,并且最终可能会解析为一个 ServiceWorkerRegistration
。
示例
js
if ("serviceWorker" in navigator) {
navigator.serviceWorker.ready.then((registration) => {
console.log(`A service worker is active: ${registration.active}`);
// At this point, you can call methods that require an active
// service worker, like registration.pushManager.subscribe()
});
} else {
console.error("Service workers are not supported.");
}
规范
规范 |
---|
Service Workers # navigator-service-worker-ready |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。