Skip to content
loading...

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

harittweets profile image Harit Himanshu twitter logo github logo ・1 min read

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

this.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open('v1').then(function(cache) {
      return cache.addAll([
        '/sw-test/',
        '/sw-test/index.html',
        ... etc ...
      ]);
    })
  );
});

I do not understand that code. The waitUntil method is documented too, and it seems the code above is…

twitter logo DISCUSS (1)
Discussion
markdown guide
 

According to the MDN docs on ExtendableEvent.waitUntil() it prevents the service worker from terminating until the work inside the function is done. This is because the work inside the function is asynchronous, it could potentially take many seconds to complete.

Essentially it just waits for the promise to be fulfilled.

Classic DEV Post from Aug 4 '19

You're not worth hiring unless...

Harit Himanshu profile image
I am hands-on software professional with more than a decade of experience in building and shipping products at companies of small to large sizes. contributed in Advertising,CleanTech,Security,FinTech