开发nodejs应用时,不知道会有多少次忘记调用回调函数,导致请求一直卡在哪里转圈,于是便开始思考是否有一种自动超时机制,例如5S如果仍没有响应,返回客户端503,开场结束,正文开始:
1. 安装connect-timeout中间件:
npm install connect-timeout --save //安装并保存到package.json中
2. 使用中间价
var timeout = require("connect-timeout");//在加载路由之前app.use(timeout('3s')) //如果3s还没有响应,req.timedout将返回trueapp.use(function(req, res, next) { setTimeout(function() { if (req.timedout) { res.send(503); } }, 5 * 1000); next(); //继续执行})