转换node.js HTTP响应函数(使用“请求”库)来使用stream

我在node.js中使用了请求库 ,它下载了一个HTML主体响应,但是在块中这样做。 目前我只是将它们连接到一个dataChunksvariables,并使用一个黑客攻击testing,看看它什么时候被下载。 不过,我已经略读了stream手册 ,这似乎是一个可能适合使用stream获取数据块的情况。 我不完全理解我会怎么做,所以将不胜感激任何帮助。 相关代码如下:

 var dataChunks = ""; request.get({ url: baseUrl + path }) .on("error", function(err) { throw new Error(err); }) .on("response", function(res) { if (res.statusCode === 200) { res.on("data", function(data) { var dataString, dt; dataChunks += (dataString = data.toString()); if ((dt = dataString.slice(-100).trimRight()).lastIndexOf("</html>") === dt.length - 7) { // do stuff with dataChunks } }); } }); 

预先感谢您的任何帮助。

你不需要一个stream。 从请求自述:

 var request = require('request'); request('http://www.google.com', function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // Show the HTML for the Google homepage. } }) 

stream示例:

 request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))