相关疑难解决方法(0)

如何在Node中的http.request()上设置超时?

我正在尝试在没有运气的情况下使用http.request的HTTP客户端设置超时.到目前为止我所做的是这样的:

var options = { ... }
var req = http.request(options, function(res) {
  // Usual stuff: on(data), on(end), chunks, etc...
}

/* This does not work TOO MUCH... sometimes the socket is not ready (undefined) expecially on rapid sequences of requests */
req.socket.setTimeout(myTimeout);  
req.socket.on('timeout', function() {
  req.abort();
});

req.write('something');
req.end();
Run Code Online (Sandbox Code Playgroud)

任何提示?

timeout http node.js

82
推荐指数
5
解决办法
11万
查看次数

Express.js响应超时

问题

我一直在寻找Express.js的请求/响应超时,但一切似乎都与连接有关,而不是请求/响应本身.

如果请求需要很长时间,则应该超时.显然这不应该发生,但即使是一个简单的错误,因为如果没有调用回调或不使用路由处理程序res.send(),浏览器将一直等待回复.

空路由处理程序就是一个很好的例子.

app.get('/sessions/', function(req, res, callback){});
Run Code Online (Sandbox Code Playgroud)

固定

之前 我添加了以下内容app.use(app,router);,它似乎添加了超时功能.有没有人对此有任何经验/意见?

app.use(function(req, res, next){
    res.setTimeout(120000, function(){
        console.log('Request has timed out.');
            res.send(408);
        });

    next();
});
Run Code Online (Sandbox Code Playgroud)

请注意,我已将超时设置为2分钟.

timeout response settimeout node.js express

57
推荐指数
4
解决办法
9万
查看次数

标签 统计

node.js ×2

timeout ×2

express ×1

http ×1

response ×1

settimeout ×1