【发布时间】:2017-08-16 08:27:57
【问题描述】:
我正在尝试编写一个程序,我需要同步地从文件中逐行读取数据,并使用Array.push() 将值逐行存储在数组中。我正在使用readline npm 包读取文件。但是,当我在遍历整个文件后尝试调用数组时,它会显示一个空数组。
var fs = require('fs'),
readline = require('readline'),
stream = require('stream');
var instream = fs.createReadStream('sample.txt');
var outstream = new stream;
outstream.readable = true;
outstream.writable = true;
function printArray(ArrayVar){
console.log(ArrayVar);
}
function AddText(InputStream){
var Text = new Array;
var rl = readline.createInterface({
input: instream,
output: outstream,
terminal: false
});
rl.on('line',function(line){
Text.push(line);
});
return Text;
}
var a = AddText(instream);
printArray(a);
我认为由于此代码的异步执行,我遇到了问题。如何解决这个问题并按照文本文件中的正确顺序打印数组的内容?
【问题讨论】:
标签: javascript arrays node.js asynchronous readline