ServiceWorkerContainer: ready 属性
注意:此功能在 Web Workers 中可用。
ServiceWorkerContainer 接口中的只读属性 ready 提供了一种延迟代码执行直到 service worker 激活的方法。
该属性返回一个永远不会拒绝的 Promise,它会无限期地等待,直到当前页面关联的 ServiceWorkerRegistration 拥有一个 active(活动)的 worker。一旦满足该条件,它将使用 ServiceWorkerRegistration 解析。
值
一个永远不会拒绝的 Promise,当存在活动的 service worker 时,它最终可能会使用 ServiceWorkerRegistration 进行解析。
示例
延迟代码直到存在活动的 service worker
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 |
浏览器兼容性
加载中…