在超时结束连接之前发送响应(nodejs)
Send a response before timeout ends connection (nodejs)
我在“nodejs”中有一个 API,我正试图在我的一些路由中插入超时。我尝试使用 res.setTimeout 来做到这一点,但问题是:那样(它应该)会立即关闭连接。我想在结束连接之前发送一个响应,有什么办法可以实现吗?
你想等一段时间再做任务吗?我会尝试利用 setTimeout 函数 -> https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Timeouts_and_intervals
节点 10+
// some code
// ...
// wait five seconds before moving foward
await new Promise(resolve => {
setTimeout(()=>{
resolve()
},5000)
})
// move along...
前节点 10
// some code
// ...
// wait five seconds before moving foward
setTimeout(() => {
// move along in your code in this callback block
}, 5000)
超时就是超时。一个不当行为。这不应该发生。它将向用户发回 504 应答。也许您应该尝试将您的前端 http 服务器(例如您的 nginx)配置为具有相同的超时,如果它向最终用户发回 500 而不是 504。
我在“nodejs”中有一个 API,我正试图在我的一些路由中插入超时。我尝试使用 res.setTimeout 来做到这一点,但问题是:那样(它应该)会立即关闭连接。我想在结束连接之前发送一个响应,有什么办法可以实现吗?
你想等一段时间再做任务吗?我会尝试利用 setTimeout 函数 -> https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Timeouts_and_intervals
节点 10+
// some code
// ...
// wait five seconds before moving foward
await new Promise(resolve => {
setTimeout(()=>{
resolve()
},5000)
})
// move along...
前节点 10
// some code
// ...
// wait five seconds before moving foward
setTimeout(() => {
// move along in your code in this callback block
}, 5000)
超时就是超时。一个不当行为。这不应该发生。它将向用户发回 504 应答。也许您应该尝试将您的前端 http 服务器(例如您的 nginx)配置为具有相同的超时,如果它向最终用户发回 500 而不是 504。