私はURLのリストを持っています.4つと言います。それぞれについて、いくつかの情報を収集し、その情報を allData というグローバル変数に格納したいと考えています。したがって、私のコードは次のようになります。
var request = require('request');
var cheerio = require('cheerio');
var urls = [url1,url2,url3,url4];
var allData = [];
for(var url in urls){
request(url, function(err,response,body){
var $ = cheerio.load(body);
var data = $('h1.large','#title_main').text();
allData.push(data);
});
}
ただし、リクエストを使用することの非同期性のために、これは機能しないことを認識しています。最後のループでは、「datas」内のすべてのデータはすべて同じで、url4 からのものです。どうすればこれを修正できますか?本当にこの機能が必要です。