What does event.waitUntil do in service worker and why is it needed?

前端 未结 1 415
醉梦人生
醉梦人生 2021-02-03 17:36

MDN suggests that you do the following to create and populate service worker cache:

this.addEventListener(\'install\', function(event) {
  event.waitUntil(
    c         


        
相关标签:
1条回答
  • 2021-02-03 18:15

    As the description says, the ExtendableEvent.waitUntil() method extends the lifetime of the event. If you don't call it inside a method, the service worker could be stopped at any time (see the specification).

    So, the waitUntil method is used to tell the browser not to terminate the service worker until the promise passed to waitUntil is either resolved or rejected.

    About your specific questions:

    • In the case of the install and the activate events, it delays the state switch of the service worker to installed and activated (see the specification of the waitUntil method, in particular the last part of the paragraph).
    • I think the rest of my answer already answered as to why it is needed.
    0 讨论(0)
提交回复
热议问题