Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js客户端请求挂起_Javascript_Node.js - Fatal编程技术网

Javascript Node.js客户端请求挂起

Javascript Node.js客户端请求挂起,javascript,node.js,Javascript,Node.js,我有一个node.js进程,它使用大量客户端请求从网站中提取信息。我使用请求包()是因为,正如它所说:“它支持HTTPS,并且默认情况下遵循重定向。” 我的问题是,经过一段时间后,请求开始挂起。我无法确定这是因为服务器返回了无限的数据流,还是发生了其他事情。我已经设置了超时时间,但是在一些成功的请求之后,其中一些请求最终被卡住,无法完成 var options = { url: 'some url', timeout: 60000 }; request(options, function (er

我有一个node.js进程,它使用大量客户端请求从网站中提取信息。我使用请求包()是因为,正如它所说:“它支持HTTPS,并且默认情况下遵循重定向。”

我的问题是,经过一段时间后,请求开始挂起。我无法确定这是因为服务器返回了无限的数据流,还是发生了其他事情。我已经设置了超时时间,但是在一些成功的请求之后,其中一些请求最终被卡住,无法完成

var options = { url: 'some url', timeout: 60000 };
request(options, function (err, response, body) {
    // process
});
我的问题是,在使用此库接收到一定数量的数据后,是否可以关闭连接,以及是否可以停止挂起请求?我是否需要使用http/https库,自己处理重定向和协议切换,以便获得所需的控制?如果我这样做,是否有一个标准化的做法

编辑:另外,如果我停止进程并重新启动它,它们会立即重新启动并开始工作,因此我认为这与运行代码的服务器或机器无关。

请注意,在
请求(选项,回调)
中,当请求完成时将触发回调,并且无法中断请求

您应该收听
数据
事件:

var request = require('request')

var stream = request(options);

var len = 0
stream.on('data', function(data) {
   // TODO process your data here

   // break stream if len > 1000
   len += Buffer.byteLength(data)
   if (len > 1000) {
      stream.abort()
   }
})

您正在运行哪个版本的node.js?(在终端中键入
节点--version