FetchEvent 本文介绍函数运行时的FetchEvent的定义与用法。 分配给运行时的HTTP请求的事件类型。详细定义请参见MDN官方文档FetchEvent。 上下文 javascript addEventListener("fetch", event > { event.respondWith(handleRequest(event)) }) 属性 event.request Request 触发FetchEvent的HTTP请求。 方法 当运行时脚本收到请求时,运行时将触发FetchEvent,然后触发事件类型为fetch事件侦听器进行处理。事件处理程序可以调用event对象的以下方法来进行控制: event.respondWith( response RequestPromise ) void 拦截请求并发送自定义响应。 必须调用respondWith()进行有效的响应,否则运行时会报错。 生命周期 当边缘接收到一个请求,该请求的URL映射到用户函数时,FetchEvent生命周期开始;这时运行时触发一个事件,并创建一个FetchEvent对象传递给运行时的第一个注册为fetch的事件处理程序。 事件处理程序可以使用respondWith()来拦截请求并允许用户发送自定义响应。 如果fetch事件处理程序未调用respondWith(),则运行时会将事件传递到下一个注册的fetch事件处理程序。 javascript addEventListener('fetch', (event) > { event.respondWith(handle(event)); }); async function handle(event) { // 1.异步发起一个fetch请求,但是我们不使用await,所以该请求会并行执行 fetch(" // 2.立刻发起回复。这个回复hello world发回给客户端时,前面发起的fetch可能没有执行完毕。 return "hello world"; } 相关参考 示例代码:返回HTML页面 示例代码:返回JSON内容