koa2中间件之间如何传递参数
发布于 8 年前 作者 RandyChou 13382 次浏览 来自 问答

如题,比如我有2个中间件 app.use(middleware1); app.use(middleware2); 我想将middleware1中执行的结果传递给middleware2,以前写express是可以用next(param)这种方式传递下去的,不知道koa2有没有什么办法传递参数呢?

4 回复

express可以用next(param)吗? 据我所知只能 next(error)吧?

express传递参数不是直接设置在req对象里吗, req.xxxxxxxxxx 然后下一个中间件也读req.xxxxxxxxx就好了

至于Koa应该一样把 设置 ctx.xxxxxxx (虽然我不会koa :P ) 看了下文档 推荐的是设置在ctx.state.xxxxxxx

把结果扔到ctx.state.xxx上,express确定不能next(param)的,只能挂到req.xxx上

来自酷炫的 CNodeMD

确实只能是把参数挂到ctx上

ctx是一个纯js object, 直接挂上面是ok的

回到顶部