采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么 router.use( (err, req, res, next) => {} ) 中的err为什么要写在第一个? 如果我 router.use( (req, res, next) => {} ) 不需要err,为什么不会出现问题? js 语法应该没有Overload的这个概念的吧?
你好,这个用法和语法无关,完全是 express 的规定!express 的语法规定,如果中间件的回调函数传入四个参数,那么这个回调就是处理自定义异常,并且第一个参数必定为 err,如果传入三个参数就是普通中间件,不会处理异常。这两者有本质区别。处理异常方法通常放在最后,而普通中间件放在处理请求之前。
非常感谢!
登录后可查看更多问答,登录/注册
基于Element的中后台课程,一套中小型企业通用的后台管理系统
1.9k 2
3.0k 12
4.2k 20
959 17
1.8k 16