强制连接在nodejs中的一段时间后closures

我有用户http.request连接到nodejs中的另一台服务器。 不幸的是,服务器在某些情况下有延迟响应。 所以我想在一段时间后closures请求。 我发现了下面的代码,但是如果目标服务器不可达或连接尚未build立,这个closures连接。

 req.on('socket', function (socket) { socket.setTimeout(myTimeout); socket.on('timeout', function() { req.abort(); }); }); 

我想要的是closures连接,例如2秒钟之后数据是否到来。

有没有人有任何想法?

我不知道你使用的套接字库,也许它有一些准备好的,好的解决scheme,但它看起来很简单,只需使用setTimeout函数:

 req.on('socket', function (socket) { setTimeout(function() { // maybe some additional condition here // or recursive call if you want to wait 2 more seconds // or whatever else // but if you want to just abort... req.abort(); }, 2000); }); 

再次,这可能看起来像一个解决方法,但它绝对应该是足够的,因为我从你的要求了解。