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个状态码