采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么 router.use( (err, req, res, next) => {} ) 中的err为什么要写在第一个? 如果我 router.use( (req, res, next) => {} ) 不需要err,为什么不会出现问题? js 语法应该没有Overload的这个概念的吧?
你好,这个用法和语法无关,完全是 express 的规定!express 的语法规定,如果中间件的回调函数传入四个参数,那么这个回调就是处理自定义异常,并且第一个参数必定为 err,如果传入三个参数就是普通中间件,不会处理异常。这两者有本质区别。处理异常方法通常放在最后,而普通中间件放在处理请求之前。
非常感谢!
登录后可查看更多问答,登录/注册
基于Element的中后台课程,一套中小型企业通用的后台管理系统
2.0k 2
3.1k 12
4.3k 20
1.0k 17
1.8k 16
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号