0

私は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 からのものです。どうすればこれを修正できますか?本当にこの機能が必要です。

4

1 に答える 1