在node.js中,我希望能够同步逐行读取(不读取整个文件),并且能够在一定量的行之后停止读取。
我看到了这个https://nodejs.org/api/readline.html,但他们并没有解释如何同步这样做。我也试过这个
https://github.com/nickewing/line-reader
$HADOOP_HOME/bin/hadoop jar wc.jar WordCount /input /output
但lineReader.eachLine('big_file.txt', function(line, last) {
console.log(line);
if (last) {
return false; // stop reading
}
});
console.log("test");
在文件被读取之前打印,他们说这是同步的。但它看起来并非如此。
我想在打印线条后显示测试打印。
有谁知道怎么做?
由于
答案 0 :(得分:0)
线读者提到,它是异步的,但会返回一个承诺。您需要在行读取器之后使用同步承诺处理程序。 Github readme line reader
var lineReader = require('line-reader');
// read all lines:
lineReader.eachLine('file.txt', function(line) {
console.log(line);
}).then(function (err) {
if (err) throw err;
console.log("I'm done!!");
});