我正在使用Node的http
模块发出 HTTP 请求,但在data
上,返回的块似乎不满足完整的请求响应。这是我的代码:
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 :(得分:43)
你也应该听'结束'事件
req.on('response', function (response) {
var data = "";
response.on('data', function (chunk) {
console.log(chunk);
data += chunk;
});
response.on('end', function(){
callback(data);
})
});