2013-03-30 2 views
15

내가 노드의 http 모듈을 사용하여 HTTP 요청을 만들고있어 반환하지,하지만 data에 반환 청크는 전체 요청 응답 컨텐츠로 보이지 않는다. 내 코드는 다음과 같습니다.Node.js를 HTTP 요청은 전체 응답

var req = http.request(httpOptions, function(res) { 
    res.setEncoding('utf8'); 
}); 

req.on('response', function (response) { 
    response.on('data', function (chunk) { 
     console.log(chunk); 
     callback(null, JSON.parse(chunk)); 
    }); 
}); 

req.on('error', function(e) { 
    callback(e); 
    //callback(e.message); 
}); 

req.end(); 

요청을 끝내기 전에 전체 출력을 기다리는 방법이 있습니까? 내가 뭔가 잘못하고 있는거야? 감사!

+0

변수'에서 온 response' 않았다 수신해야합니까? –

+0

당신이'res.end();를 필요로한다고 생각합니다 –

+0

제 에디터가 실수로 그것을 자동 수정했다고 생각합니다. 나는 문제를 해결했습니다. (제 편집자에게는 괜찮 았습니다). – jpmonette

답변

41

당신은 또한 '끝'이벤트

req.on('response', function (response) { 

    var data = ""; 

    response.on('data', function (chunk) { 
     console.log(chunk); 
     data += chunk; 
    }); 

    response.on('end', function(){ 
     callback(data); 
    }) 

}); 
+0

고마워, 완전히 일하고 :) – jpmonette

+2

듣기 좋게 :) – Andbdrew