问题
2分钟后节点的默认配置超时请求.我想将请求超时更改为:
研究
通过Node的文档阅读,我发现有很多方法可以定义超时.
我正在使用Express,它还提供中间件来定义(特定)路由的超时.我试过了,没有成功.
题
我对如何在全局和每条路由上正确配置超时限制感到困惑.我应该配置以上所有超时吗?如何设置服务器的超时与设置套接字或请求的超时不同?
小智 4
正如我在您关于超时中间件的使用的其他问题中看到的,您以某种方式使用它。
请参阅超时连接中间件的文档。
将您的 errorHandler 函数作为 EventListener 添加到请求中,因为它是一个 EventEmitter 并且中间件会导致它发出 -event timeout
:
req.on("timeout", function (evt) {
if (req.timedout) {
if (!res.headersSent) {
res
.status(408)
.send({
success: true,
message: 'Timeout error'
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是在中间件堆栈之外调用的,导致函数调用next(err)
无效。另外,您必须记住,如果在请求挂起服务器端时发生超时,您必须阻止服务器代码进一步处理此请求(因为标头已发送,其底层连接将不再可用) )。
归档时间: |
|
查看次数: |
3277 次 |
最近记录: |