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

标签 javascript node.js data-manipulation

嗨,我正在尝试使用 .createReadStream 方法读取文件并转换为数据,但是,当我执行程序时,它没有给我错误,但它 console.log 进入终端“未定义”任何建议都会有帮助谢谢!

//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");

最佳答案

这里:

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

您正在附加到您在第 3 行定义的全局变量“data”。但是,当您处于“结束”状态的回调中时,您希望它也为您提供一个名为“data”的变量,然后您可以使用该变量日志。将结束回调更改为:

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

关于javascript - 无法从 Node 中的流读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42335526/

相关文章:

r - 从原始矩阵中选择奇数行和奇数列

javascript - 消失div onblur

javascript - Vert.x 的 POST 请求和 JavaScript 有什么区别?

javascript - 保存 Mongoose 嵌套架构

r - 迭代数据框中的列,取平均值并将其与同一列中的每个值进行比较

从 R 中的数据框中删除一行中的重复元素

javascript - 按标签/类名长度选择元素

javascript - Mocha 中无法修复的错误

javascript - GraphQL:Query.type 字段类型必须是输出类型但得到:未定义

node.js - TypeError : webpack. DefinePlugin 不是构造函数