Node.js の非同期イベントに苦労しています。
私のアプリは、最初の HTTP GET リクエストを実行してから、レスポンスの本文にある情報に基づいて、一定の回数ループしています。
各反復で、他の HTTP GET 要求を送信する関数を呼び出し、要素配列にプッシュされた結果を返します。
私の問題は、console.log()
すべての http 要求が完了したときに要素配列が必要なことです。これが私のコードです:
http.get('mysite.com', function(res) {
var body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
var last = 5,
elements = [];
for(var i=0; i < last; i++) {
elements.push(myRequest(i));
}
console.log(elements);
// Do some stuff with the elements array after it has been populated
});
}).on('error', function(error) {
console.log(error);
});
var myRequest = function(i) {
http.get('mysite.com/page' + i, function(res) {
var body = '';
res.on('data', function(chunk) {
body += chunk;
});
res.on('end', function() {
// Do parsing here
return parsed;
});
}).on('error', function(error) {
console.log(error);
});
};
async モジュールの使用を考えましたが、このユース ケースでの使用方法がわかりません。
前もって感謝します !