Javascript 来自nodejs的请求被卡住
我用nodejs写了一些代码。它即将从网站上获取htmlJavascript 来自nodejs的请求被卡住,javascript,node.js,request,Javascript,Node.js,Request,我用nodejs写了一些代码。它即将从网站上获取html var request = require('request'); var cheerio = require('cheerio'); var path = require('path');' var fs = require('fs'); var num = 0; var arc = ''; for(var i=0; i < 20000; i++) { num++; var requrl = 'http://127
var request = require('request');
var cheerio = require('cheerio');
var path = require('path');'
var fs = require('fs');
var num = 0;
var arc = '';
for(var i=0; i < 20000; i++) {
num++;
var requrl = 'http://127.0.0.1/'+ num + '.html';
request(requrl, function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body); //get body
}
})
}
var request=require('request');
var cheerio=需要('cheerio');
var path=require('path');'
var fs=需要('fs');
var num=0;
var弧=“”;
对于(变量i=0;i<20000;i++){
num++;
var requrl=http://127.0.0.1/“+num+”.html';
请求(请求URL、函数(错误、响应、正文){
如果(!error&&response.statusCode==200){
console.log(body);//获取body
}
})
}
我刚刚发送了从1.html到20000.html获取html的请求一开始还可以,但很快就卡在1100左右。html
控制台不会抛出任何错误或异常。
它只是停留在那里,有解决方案吗?
进程是否结束运行(1100.html是最后一个打印的),或者进程是否真的挂起?另外,也许您可以在
if
中添加一个else
,并在其中放置另一个控制台.log()
,以查看是否有任何请求返回时出错?我不建议您循环遍历20000个文件并使用请求方法。也许另一种选择是使用带有承诺的读取流?