当我使用response.on('data' callback)
时,我会在收到数据后立即获取数据。这导致数据逐个通过。
我希望将所有数据合在一起并拨打parser.parseString(chunk,parseData)
。我该如何实现这一目标?
以下是我的代码。
var request = https.request(options, function(response) {
response.setEncoding('utf8');
response.on('data', function (chunk) {
console.log('BODY: ', chunk);
//parser.parseString(chunk,parseData);
});
response.on('end', function () {
console.log('The end');
});
});
request.on('error', function(e) {
console.log('problem with request: ' + e.message);
});
request.write(str);
request.end();
}
答案 0 :(得分:2)
您应该创建变量,您将在其中编写文档数据
var document;
response.on('data', function(chunk) {
document += chunk;
}
然后你应该在文档末尾触发解析器
response.on('end', function() {
parser.parseString(document, parseData);
});
答案 1 :(得分:1)
如果您考虑或正在使用Express框架,请查看正文解析器中间件是否满足您的需求(c.f。https://github.com/expressjs/body-parser)