express路由链和错误处理

从express 4.x开始,官方建议如下配置路由链:

Migrating from 3.x to 4.x

// 在route之前的middleware
app.use(path, middleware1);
app.use(path, middleware2);
...

// route
app.get(path, function(req, res, next){
    // logic
});

// route之后的middleware
app.use(path, middleware3);
...

// 错误处理,一般都放在最后面
app.use(path, function(err, req, res, next){
    // error handling
})

然后在route里,一般这样写:

app.get(path, function(req, res, next){

    // logic

    if(err){
        next(err);// 跳转到error handler
        return;
    }

    res.send(result);// 返回结果到客户端
});

一般的middleware和error handler,基本上差不多,区别在于middleware有3个参数,error handler有4个参数,多了一个error

当next()传参数时,会走进error handler;否则走进下一个middleware或者route


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值