FetchEvent: handled-Eigenschaft
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2022 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist nur in Service Workers verfügbar.
Die schreibgeschützte Eigenschaft handled der Schnittstelle FetchEvent gibt ein Promise zurück, das anzeigt, ob das Ereignis vom Fetch-Algorithmus verarbeitet wurde. Mit dieser Eigenschaft kann Code ausgeführt werden, nachdem der Browser eine Antwort verarbeitet hat. Sie wird üblicherweise zusammen mit der Methode waitUntil() verwendet.
Wert
Ein Promise, das ausstehend bleibt, solange das Ereignis nicht verarbeitet wurde, und erfüllt wird, sobald es verarbeitet wurde.
Beispiele
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;
})(),
);
});
Spezifikationen
| Spezifikation |
|---|
| Service Workers Nightly> # dom-fetchevent-handled> |