FetchEvent:handled 属性
注意:此功能仅在Service Workers中可用。
FetchEvent
接口的handled
属性返回一个 Promise,指示事件是否已被 fetch 算法处理。此属性允许在浏览器使用响应后执行代码,通常与waitUntil()
方法一起使用。
值
一个Promise
,在事件未被处理时处于挂起状态,一旦事件被处理则变为已完成状态。
示例
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;
})(),
);
});
规范
规范 |
---|
Service Workers # dom-fetchevent-handled |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。