CNode

求教: Koa2里 使用await next()和return next()有没有区别?

问答
Cchengshubei发布于7 年前最后回复7 年前7 回复6452 浏览0 收藏

如果使用 return next() 会出现什么问题影响吗? 假定 next() 下面没有需要继续执行的代码,next()本来就在最后一行。 (纠结的原因,如果可以用 return next() ,我就不需要在函数前面加 async了, hahaha)

查看回复

回复 (7)

C
chenjiyong#1·7 年前

自己试试就知道了

C
chengshubei#2·7 年前

试试,觉得没有区别。。

A
atian25#3·7 年前

可以的

A
atian25#4·7 年前

挂 ctx 上

I
i5ting#5·7 年前

现在koa已经没人说它支持3种中间件写法了,哈哈哈

C
chengshubei#6·7 年前

哈哈,感谢几位大神回复/ @atian25 @i5ting 要是可以给中间件传递参数就好了。 router.get('汇总', '/mining', validate, earning.mining) 想把validate作为一个公共函数,把条件传进去,但是没有地方传。 只能在validate函数里面,给各个路由定义好检测条件。。。

D
DuJiming#7·7 年前
引用 chengshubei哈哈,感谢几位大神回复/ @atian25 @i5ting 要是可以给中间件传递参数就好了。 router.get('汇总', '/mining', validate, earning.min...

@chengshubei


const validate = (flag) => {
  return (ctx, next) => {
    if (flag) {
      console.log("I'm OK");
    }
    next();
  }
};
healthRuter.get('/a', validate(true), health.alive);

说的是这种传递方式么,是我理解错了么

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