问答详情
源自:2-7 异常处理

异常判断的传参

传三个参数和传四个参数都没报错。能说明下么?有点儿和html中js传参有点儿区别,懵逼中。。。

提问者:_MIT 2020-06-29 18:06

个回答

  • 小鸟搬砖
    2020-08-12 16:10:00

    上面写错了:

    如果你给app.use传递一个有少于四个传参的回调函数,那么express认为此回调函数是正常的路由处理函数,那么回调函数传参依次为 :

    req,res,next


  • 小鸟搬砖
    2020-08-12 16:08:10

    const errorHandle = (err,req, res, next)=>{if(err){const {message}= err;res.status(500).json({message:`${message || '请求异常'}`})}}
    const matchAll = (req,res,next)=>{res.json({msg:'test all use'})}
    app.use(matchAll)
    app.use(errorHandle)

    express框架层面应该做了识别处理,

    如果你给app.use传递一个有四个传参 的回调函数,那么express认为此回调函数是错误处理函数,那么回调函数传参依次为 :

    err,req, res, next

    如果你给app.use传递一个有三个传参的回调函数,那么express认为此回调函数是错误处理函数,那么回调函数传参依次为 :

    req,res,next