waitUntil method
@AvailableInWorkers("service")
The ExtendableEvent.waitUntil()
method tells the event dispatcher that work is ongoing. It can also be
used to detect
whether that work was successful. In service workers, waitUntil()
tells
the browser that work is ongoing until the promise settles, and it
shouldn't terminate
the service worker if it wants that work to complete.
The ServiceWorkerGlobalScope.install_event
events in
service workers
use
waitUntil()
to hold the service worker in
the ServiceWorkerRegistration.installing phase until tasks
complete. If the promise passed to waitUntil()
rejects, the install is
considered a failure, and the installing service worker is discarded. This
is primarily
used to ensure that a service worker is not considered installed until all
of the core
caches it depends on are successfully populated.
The ServiceWorkerGlobalScope.activate_event
events in
service workers
use
waitUntil()
to buffer functional events such as fetch
and
push
until the promise passed to waitUntil()
settles. This
gives the service worker time to update database schemas and delete
outdated
Cache, so other events can rely on a completely upgraded state.
The waitUntil()
method must be initially called within the event
callback,
but after that it can be called multiple times, until all the promises
passed to it
settle.
Implementation
external void waitUntil(JSPromise<JSAny?> f);