learnyounode
의 '비동기 저글링'과제에 대해 질문하고 매우 유용한 답변을 얻은 후에 필자는 직접 구현하려고했습니다.'Juggling Async'- 내 솔루션이 전혀 반환하지 않는 이유는 무엇입니까?
문제는 설정에 아무런 문제가 없다는 것입니다. 밖에있는 다른 솔루션을 언급 했음에도 불구하고 learnyounode verify myscript.js
을 수행하면 설치 프로그램이 결과를 반환하지 않습니다.
var http = require('http');
var app = (function() {
// Private variables...
var responsesRemaining,
urls = [],
responses = [];
var displayResponses = function() {
for(var iterator in responses) {
console.log(responses[iterator]);
}
};
// Public scope...
var pub = {};
pub.main = function (args) {
responsesRemaining = args.length - 2;
// For every argument, push a URL and prep a response.
for(var i = 2; i < args.length; i++) {
urls.push(args[i]);
responses.push('');
}
// For every URL, set off an async request.
for(var iterator in urls) {
var i = iterator;
var url = urls[i];
http.get(url, function(response) {
response.setEncoding('utf8');
response.on('data', function(data) {
if(response.headers.host == url)
responses[i] += data;
});
response.on('end', function() {
if(--responsesRemaining == 0)
displayResponses();
});
});
}
};
return pub;
})();
app.main(process.argv);
질문 : 내가 잘못 뭐하는 거지?
게시물에 관련 코드를 입력하십시오. 어떤 사람들은 외부 링크를 열 수 없거나 열지 않을 것입니다. 게다가 외부 링크는 결국 내려 가서이 질문을 다른 사람들에게 쓸모 없게 만듭니다. –
@ IngoBürk 요청 당 제공된 코드. 왜 이것이 좋은 생각인지 상기시켜 주셔서 감사합니다. –