【问题标题】:nodejs / express: does calling next() automatically return the function it is called from?nodejs / express:调用 next() 会自动返回调用它的函数吗?
【发布时间】:2012-06-05 15:02:29
【问题描述】:

只是想摆脱这个想法:

在处理 Express/Nodejs 中的路由时,我想知道调用 next() 是否总是返回调用它的函数?考虑:

app.get('/users/:id?', function(req, res, next){
   //just as as example
   var err = doValidation(req);
   if (err) {
       next(err);
   } 
   next(); //will this ever be called?
});

如果发生错误,是否会调用第二个 next(),或者调用第一个 next(err)(自动)返回调用它的函数?

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    调用next()不会停止执行,但return会,所以return next()确实会返回。

    【讨论】:

      【解决方案2】:

      是的,如果出现错误,两者都会被调用。你想做的事:

      if(err) {
        return next(err);  
      }
      

      【讨论】:

        猜你喜欢
        • 2021-05-16
        • 1970-01-01
        • 2013-08-20
        • 2012-09-27
        • 2022-10-04
        • 2023-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多