fetch
事件监听器实现对 HTTP 请求的处理。FetchEvent
对象,使用 addEventListener
注册 fetch
事件获取 event
对象。// event 为 FetchEvent 对象addEventListener('fetch', (event) => {event.respondWith(new Response('hello world!'));});
// event.clientIdreadonly clientId: string;
// event.requestreadonly request: Request;
event.respondWith(response: Response | Promise<Response>): void;
addEventListener
的 fetch
事件回调中,需要调用接口 event.respondWith()
响应客户端,若未调用该接口,边缘函数会将当前请求转发回源站。event.waitUntil(task: Promise<any>): void;
Promise
完成,可延长事件处理的生命周期。参数名称 | 类型 | 必填 | 说明 |
task | 是 | 等待完成的 Promise 任务。 |
event.passThroughOnException(): void;
event.respondWith
,边缘函数将当前请求转发回源站。function handleRequest(request) {return new Response('Edge Functions, Hello World!');}addEventListener('fetch', event => {const request = event.request;// 请求 url 包含字符串 /ignore/ ,边缘函数会将当前请求转发回源站。if (request.url.indexOf('/ignore/') !== -1) {// 未调用接口 event.respondWithreturn;}// 在边缘函数中,自定义内容响应客户端event.respondWith(handleRequest(request));});
addEventListener('fetch', event => {// 当函数代码抛出未处理的异常时,边缘函数会将此请求转发回源站event.passThroughOnException();throw new Error('Throw error');});
本页内容是否解决了您的问题?