无法从Node中的流中读取数据

时间:2017-02-20 02:25:58

标签: javascript node.js data-manipulation

您好我正在尝试通过使用.createReadStream方法读取文件并转换为数据,但是,当我执行我的程序时,它没有给我任何错误,但它将console.log放入终端'undefined'任何建议都会有帮助谢谢!

//Readable Steams
var fs = require("fs");
var data = '';

//Create a reable stream
var readerStream = fs.createReadStream('input.txt');

readerStream.setEncoding('utf8');

//Handle events data, end, error
readerStream.on('data', function(chunk){
  data += chunk;
});

readerStream.on('end', function(data){
  console.log(data);
});

readerStream.on('error', function(err){
  console.log(err.stack);
});

console.log("program ended");

1 个答案:

答案 0 :(得分:1)

下面:

readerStream.on('data', function(chunk){
  data += chunk;
});

您要附加到全局变量"数据"你是在第3行定义的。但是当你在回调中时,#34; end" state,你希望它给你一个名为" data"的变量。也,然后你记录。将回调更改为结束:

readerStream.on('end', function(){
  console.log(data);
});