采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
app.use()无论写在app.get()的前面或后面,app.use()一定最先执行吗 例如: app.use((req,res,next) => {console.log(1);}) app.get((req,res,next) => {console.log(2);}) app.use((req,res,next) => {console.log(3);}) 打印结果是什么?一定是1,3,2吗
按理说,应该是按照顺序执行的,打印 123
这应该是我源码中的一个小 bug ,应该排个序的。
不过,在实际应用中,一般会先配置 use 中间件,然后再配置路由。
所以,这个问题影响不大。
是呀,这个源码当中直接concat了all和get里的,所以无论写的时候什么顺序,最后都是先执行all的所有中间件,然后才是get的或者是post的中间件~,所以是不是应该在routes push的时候给个时间戳,再排序是不是就能按顺序执行了,或者还有啥更聪明的排序方法?
嗯??express本来就是先执行use的中间件,然后才是get或者post的吗?尴尬了。。。
登录后可查看更多问答,登录/注册
从入门到实战,一站式掌握 Node.js+Express+Koa2
2.3k 16
1.4k 16
1.6k 15
1.4k 13
1.3k 13