嗨,我正在尝试使用 .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/