我正在抓取这个网站收集2013年的所有行,但是有7页,我有一个循环中的请求。收到所有7个回复后,如何显示结果?如果我只是尝试console.log的rowTrack数组,它会显示为空,因为代码的异步性质。理想情况下,我想按循环的顺序运行请求,以便第一页的结果是数组的第一个元素等。
var request = require("request"),
cheerio = require("cheerio"),
rowTrack = [];
for (var i = 1; i <= 7; i++) {
var url = "http://www.boxofficemojo.com/alltime/world/?pagenum=" + i + "&p=.htm";
request(url, function(error, response, body) {
if (!error) {
var $ = cheerio.load(body),
rows = $('table table tr');
rows.each(function(j, element) {
var select = $(element.children).text().split('\r\n')
select.shift();
select.pop();
if (select[select.length - 1] == "2013") {
rowTrack.push(select);
}
});
}
});}
如何显示结果?