为什么超时作为一个顶级中间件是不好的



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

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

注意此模块不建议作为"顶级"中间件(即不建议作为app.use(timeout(5000))使用)。

知道为什么吗?这让我怀疑它是否应该在任何级别使用。

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

由于中间件处理的工作方式,一旦该模块传递请求对于下一个中间件(为了让您工作,它必须这样做),它不能再这样做了停止流,因此您必须注意检查请求是否已超时继续执行请求。

最新更新