到 2026-03-28,Koa v3 已经提供了 AsyncLocalStorage 相关能力。
如果你启用 asyncLocalStorage,就能通过 app.currentContext 获取当前请求上下文。
这对这类场景很有用:
- 请求链路追踪
- request id 透传
- 内部服务里偶尔需要拿当前请求信息
但这东西的正确心智是:
它是“补充工具”
不是让你把所有业务都偷偷耦合到当前 ctx 上也就是说:
- 业务显式传参,仍然是第一选择
ctx.state仍然是中间件链里的主通道app.currentContext更适合做基础设施型能力
它很强,但不要把它变成“全局隐式魔法”。