Node.js의 비동기 이벤트에 어려움을 겪고 있습니다.여러 비동기 http get 요청
내 앱이 첫 번째 HTTP GET 요청을 한 다음 응답 본문에있는 일부 정보를 기반으로 일정 시간 반복됩니다.
각 반복에서 다른 HTTP GET 요청을 보내고 요소 배열에 푸시 된 결과를 반환하는 함수를 호출합니다.
내 문제는 모든 http 요청이 완료되었을 때 console.log()
요소 배열을 원한다는 것입니다. 여기 내 코드 :
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);
});
};
비동기 모듈을 사용하는 것에 대해 생각했지만이 사용 사례에서 어떻게 사용하는지 모르겠습니다.
미리 감사드립니다.
http get은 정의에 따라 비동기 적입니다. 당신이하고 싶은 것을 정말로 보지 마세요. – asgoth
끝나면 모든 http 요청의 결과로 무언가를하고 싶습니다. –