【发布时间】:2017-11-24 04:39:25
【问题描述】:
var http = require('http');
var res = ["","",""];
for(i =2;i<5;i++){
http.get(process.argv[i],function(response){
response.setEncoding('utf8');
str = "";
count =i-2;
response.on("data", function(data) {
str = str.concat(data);
});
response.on("end", function() {
res[count] = str;
console.log(count);
console.log(res[count]);
});
});
}
while(true) {
if(res[0]!==""&&res[1]!==""&&res[2]!=="")
{
console.log(res[0]);
console.log(res[1]);
console.log(res[2]);
break;
}
}
我将三个 URL 作为前三个命令行参数。我的工作是从每个 URL 中收集数据作为字符串,并按照它们在命令行中出现的顺序将它们打印到控制台。现在代码没有打印任何东西,它陷入了无限循环。怎么了?
【问题讨论】:
标签: javascript node.js asynchronous