【发布时间】:2014-03-27 18:19:00
【问题描述】:
我正在尝试通过 node.js 中的 HTTP 请求获取 HTML 文件的源 - 我的问题是它返回数据两次。这是我的代码:
var req = http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
if(chunk.length > 1000) {
console.log(chunk.length);
}
});
req.on('error', function(e) {
console.log("error" + e.message);
});
});
req.end();
然后返回:
5637
3703
见鬼!当我只是 console.log(chunk) 时,它会返回所有数据,就好像它是一个大字符串一样,当我在 res.on('data',它返回整个字符串,中间的某个地方带有“数据从这里开始”,这意味着它只是被拆分了。
我所做的每个测试都会返回 2 个值,这真的很烦人。我可以做“if(chunk.length > 4000)”,但考虑到我得到的页面的性质,这可能会改变。我怎样才能使所有数据都以一大块返回?
【问题讨论】:
-
最后一个可能是
favicon.ico的请求 -
这是完全正常的行为...
console.log(chunk)'将在请求结果到达时为您提供。
标签: javascript node.js http httprequest