[英]How to tell if a waiting Service Worker is ready?
根據規范 , ServiceWorker.waiting
屬性返回對已安裝並等待激活的服務工作者的引用。
這可以。 但是,如何確定等待服務的工作人員何時過渡到新狀態?
ServiceWorker.waiting
返回的服務工作者似乎沒有任何必要的事件來通知狀態更改:
if (registration.waiting) {
registration.waiting.postMessage('skip-waiting');
// This is failing because ready is undefined.
registration.waiting.ready.then(function () {
console.log('new service worker - ready');
}
}
在撰寫本文時,Chrome中的registration.waiting.onstatechange
為空。 但是,以下工作原理:
if (registration.waiting) {
const waiting = registration.waiting;
waiting.postMessage('skip-waiting');
waiting.addEventListener('statechange', function (e) {
if(waiting.state === 'activated') {
console.log('new service worker - ready');
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.