1. Web
  2. Web APIs
  3. FetchEvent
  4. handled

FetchEvent: handled property

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2022⁩.

Note: This feature is only available in Service Workers.

The handled property of the FetchEvent interface returns a promise indicating if the event has been handled by the fetch algorithm or not. This property allows executing code after the browser has consumed a response, and is usually used together with the waitUntil() method.

Value

A Promise that is pending while the event has not been handled, and fulfilled once it has.

Examples

js
addEventListener("fetch", (event) => {
 event.respondWith(
 (async function () {
 const response = await doCalculateAResponse(event.request);
 event.waitUntil(
 (async function () {
 await doSomeAsyncStuff(); // optional
 // Wait for the event to be consumed by the browser
 await event.handled;
 return doFinalStuff(); // Finalize AFTER the event has been consumed
 })(),
 );
 return response;
 })(),
 );
});

Specifications

Specification
Service Workers Nightly
# dom-fetchevent-handled

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /