为什么超时错误作为顶级中间件?

超时中间件: https : //github.com/expressjs/timeout#api似乎有用的挂起http请求超时。

但是,中间件文档提到使用它作为顶级中间件是不好的( https://github.com/expressjs/timeout#api )

注意这个模块不推荐作为“顶级”中间件(即不build议用作app.use(timeout(5000)))。

任何想法为什么? 让我怀疑它是否应该在任何级别使用。

正如dougwilson在这里指出的那样: https : //github.com/expressjs/timeout/issues/9#event-129212094

由于中间件处理的工作方式,一旦这个模块将请求传递给下一个中间件(为了让你工作,它必须做),它不能再停止stream动,所以你必须注意检查请求已超时,然后再继续处理请求。