求教: Koa2里 使用await next()和return next()有没有区别?
发布于 2 年前 作者 chengshubei 3755 次浏览 来自 问答

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

7 回复

自己试试就知道了

试试,觉得没有区别。。

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

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

@chengshubei


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

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

回到顶部