💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
# FetchEvent生命周期 在Workers运行时中使用[`fetch`事件](https://developers.cloudflare.com/workers/reference/apis/fetch-event)时,有助于了解其生命周期。 当Cloudflare的边缘网络接收到URL匹配Workers函数的区域和路由的请求时,[FetchEvent](https://developers.cloudflare.com/workers/reference/apis/fetch-event)生命周期开始。这将导致Workers运行时触发一个`fetch`事件,并创建一个FetchEvent对象传递给为注册的Workers函数中的第一个事件处理程序`'fetch'`。然后,事件处理程序可以使用以下任意项来控制接下来发生的事情: ## `RespondWith()` 拦截请求并允许用户发送自定义响应。 如果`fetch`事件处理程序未调用`respondWith()`,则运行时会将事件传递到下一个注册的`fetch`事件处理程序。如果没有事件处理程序调用`respondWith()`,则运行时将请求代理到源。注意:如果未设置任何来源(对于worker.dev站点始终为true),则必须`respondWith()`调用一个有效响应。 ## `WaitUntil()` 使用`Promise`传递给函数的方法来延长事件的生存期。使用此方法通知运行时以等待比发送响应所花费的时间更长的任务(例如流和缓存)。这对于处理您不想阻止的第三方服务的日志记录和分析非常有用`response`。 ## `PassThroughOnException()` 导致脚本在未处理的异常上“无法打开”(意味着代码的执行不会停止)。运行时将请求代理到其目的地,而不是返回运行时错误响应。为防止JavaScript错误导致整个请求因未捕获的异常而失败,请`passThroughOnException()`使Workers运行时将控制权交给原始服务器。