如何同步在node.js中逐行读取?

时间:2017-09-24 18:50:25

标签: javascript node.js

在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"); 在文件被读取之前打印,他们说这是同步的。但它看起来并非如此。

我想在打印线条后显示测试打印。

有谁知道怎么做?

由于

1 个答案:

答案 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!!");
});