我希望对我的回复设置超时。我尝试了以下方法:
var timeout = express.timeout // express v3 and below
app.use(timeout(120000));
app.use(haltOnTimedout);
function haltOnTimedout(req, res, next){
if (!req.timedout) next();
}
问题是有些请求需要超过120000 ms
(下载大文件),但没问题。我只想使应用程序(服务器)和客户端之间的流上没有传输任何信息的请求超时。
上面的代码关闭了所有连接,这需要超过 120000 毫秒
。
最佳答案
您可以设置消息本身的超时时间(如果没有数据传输,则会调用该超时)
req.connection.setTimeout(120000, function () { res.status(500).end(); });
https://nodejs.org/api/http.html#http_message_settimeout_msecs_callback
编辑:
我已添加 500 状态代码
关于node.js - Express 和 Node.js 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30484389/