nodejs 请求自动超时

开发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将返回true
app.use(function(req, res, next) {
    setTimeout(function() {
        if (req.timedout) {
            res.send(503);
        }
    }, 5 * 1000);

    next();    //继续执行
})

你可能感兴趣的:(nodejs,请求超时,请求自动超时)