簡體   English   中英

如何判斷等待的服務人員是否准備就緒?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM