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 |
瀏覽器相容性
載入中…