2012-06-05 29 views
2

只是想弄明白這一點:nodejs/express:調用next()會自動返回它被調用的函數嗎?

在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(err)(自動地)返回它從調用的函數?

回答

2

是的,如果有錯誤,兩者都會被調用。你想做的事:

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

調用next()不停止執行,但return呢,所以回報的next()不會返回。

相關問題