我有这段代码,我想通过不同的链接进入其中并获取有关HTML代码的信息。
var request = require("request");
var components = ["componentName1", "componentName2", "componentName3"];
for(let i = 0; i < components.length; i++) {
request('http://www.examplesite.com/' + components[i] + '/tags/', function (err, resp, body) {
if (!err && resp.statusCode == 200) {
var versions = body.match(/(\d+\.)(\d+\.)(\*|\d+)/g);
console.log(versions);
} else {
console.log("Error: " + resp.statusCode);
if(err) console.log(err);
}
});
}
问题是循环在所有请求完成之前完成,因此循环不会获取有关不同html页面的信息,而是收集有关一页乘以components.length的信息。我知道这很可能是异步执行函数的问题,我已经阅读了文档,尝试了promise和counter,但仍然无法使其正常工作。我想念什么吗?