CNode

koa2中间件之间如何传递参数

问答
RRandyChou发布于10 年前最后回复10 年前4 回复15062 浏览0 收藏

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

查看回复

回复 (4)

K
Kaijun#1·10 年前

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

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

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

I
iyuq#2·10 年前

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

来自酷炫的 CNodeMD

R
RandyChou#3·10 年前

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

W
wssgcg1213#4·10 年前

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

参与回复
登录后即可参与回复。登录