在expressjs app.VERB调用中next()和next('route')有什么区别?

该文档阅读:

app.VERB()方法在Express中提供路由function,其中VERB是HTTP动词之一,比如app.post()。 可能会给出多个callback,所有处理都是平等的,并且像中间件一样行为,除了这些callback可能会调用next('route')来绕过剩余的路由callback之外。 这种机制可以用来执行路线上的先决条件,然后在没有理由继续匹配路线时将控制权传递给后续路线。

他们是什么意思“绕过剩余的路线callback?”? 我知道next()会将控制权交给下一个匹配的路由。 但是… next('route') …什么function将得到控制…?

5分钟后回答我自己的问题时,我讨厌它。 next('route')是使用路由中间件的时候。 所以如果你有:

 app.get('/forum/:fid', middleware1, middleware2, function(){ // ... }) 

函数middleware1()有机会调用next()将控制权交给中间件2,或者next('route')将控制权交给下一个匹配的路由器。