【问题标题】:Can't read data from a stream in Node无法从 Node 中的流中读取数据
【发布时间】:2017-02-20 02:25:57
【问题描述】:

您好,我正在尝试使用 .createReadStream 方法读取文件并转换为数据,但是,当我执行我的程序时,它没有给我任何错误,但它 console.log's into the terminal '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");

【问题讨论】:

  • 在问这个问题之前你有没有做过research

标签: javascript node.js data-manipulation


【解决方案1】:

这里:

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

您将附加到您在第 3 行定义的全局变量“数据”。但是,当您处于“结束”状态的回调中时,您希望它也会给您一个名为“数据”的变量,然后您日志。将 end 的回调更改为:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 2015-08-03
    • 2020-04-22
    • 1970-01-01
    • 2017-04-16
    相关资源
    最近更新 更多