Express&node.js超时

我希望暂缓我的回应。 我尝试了以下内容:

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 (下载大文件),并很好。 我想超时只有没有信息在我的应用程序(服务器)和客户端之间的stream上传输的请求。

我上面的代码closures了所有的连接,然后超过120000 ms

您可以在消息本身设置超时(如果没有数据传输,将被调用)

 req.connection.setTimeout(120000, function () { res.status(500).end(); }); 

https://nodejs.org/api/http.html#http_message_settimeout_msecs_callback

编辑:

我已经添加了500个状态码