CNode

express next(err) 如何在下一个handler中获取传过去的err

Iicarusysuper发布于12 年前最后回复12 年前4 回复10373 浏览0 收藏

express next(err) 如何在下一个handler中获取传过去的err。例如:

router.get('/', function(req, res, next) {
  var user = User.findUserByName(req.session.user.username);
  if(!user) return next('user not found');      // 这里给next传入的参数,在下一个处理器中怎么找到这个参数
  next();
}
查看回复

回复 (4)

C
ciiii#1·12 年前

app.use(function(err,req,res,next){});

S
scheshan#2·12 年前

req.error = "user not found"; next();

我都是这么搞

I
icarusysuper#3·12 年前
I
icarusysuper#4·12 年前
引用 scheshanreq.error = "user not found"; next(); 我都是这么搞

这样的话,我的理解是。认为你要在下一个中间件中判断req.error对象并进行相应的处理。如果这样的情况多了,很多中间件都要写处理err的代码。感觉没有统一在function(err, req, res, next){ // blablabla }中处理的好。

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