respondWith注意事项
respondWith
拦截请求并允许Worker发送自定义响应。
respondWith
方法仅在worker域(WorkerGlobalScope)中有效
使用Module Worker格式,直接从处理程序返回一个Response
。
如果fetch
事件处理器没有调用respondWith
方法,那么运行时将会将该事件传播到下一个注册为fetch
事件的处理器中。因此,添加多个fetch
事件的处理器是可行的,但是不推荐这样做。
如果没有任何的fetch
事件处理器来显式地调用respondWith
方法,那么运行时会将该请求导向源位置,就像不存在Worker逻辑一样。
然而,如果没有源或者Worker本身就是你的源服务器,那么你必须调用respondWith
来获得有效的响应。
// Format: Service Worker
addEventListener('fetch', event => {
let { pathname } = new URL(event.request.url);
// Allow "/ignore/*" URLs to hit origin
if (pathname.startsWith('/ignore/')) return;
// Otherwise, respond with something
event.respondWith(handler(event));
});
参考链接: https://developers.cloudflare.com/workers/runtime-apis/fetch-event/#respondwith
分类:
JavaScript
标签:
javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现