Javascript 如何同步读取node.js中的逐行数据?
在node.js中,我希望能够一行一行地同步读取(而不是读取整个文件),并且能够在一段时间后停止读取 我看到了,但他们没有解释如何同步进行。我也试过这个 但是Javascript 如何同步读取node.js中的逐行数据?,javascript,node.js,Javascript,Node.js,在node.js中,我希望能够一行一行地同步读取(而不是读取整个文件),并且能够在一段时间后停止读取 我看到了,但他们没有解释如何同步进行。我也试过这个 但是test在读取文件之前打印,他们说这是同步的。但看起来不是 我希望打印行后显示测试打印 有人知道怎么做吗 感谢行读者提到,它是异步的,但返回一个承诺。您需要在行读取器之后使用同步承诺处理程序 readline用于高效异步处理。如果您坚持阻塞,您可以在需要的地方使用并拆分为行。readSync将读取我不需要的整个文件。请仔细查看偏移量和长度
test
在读取文件之前打印,他们说这是同步的。但看起来不是
我希望打印行后显示测试打印
有人知道怎么做吗
感谢行读者提到,它是异步的,但返回一个承诺。您需要在行读取器之后使用同步承诺处理程序
readline
用于高效异步处理。如果您坚持阻塞,您可以在需要的地方使用并拆分为行。readSync将读取我不需要的整个文件。请仔细查看偏移量
和长度
参数…但这是字节长度,不是要读取的最大行数。是的,您必须自己解析行。或者,如果您希望它简单,只需使用可用的异步方法。承诺不是同步的。它们与方法的前一个结果是同步的
lineReader.eachLine('big_file.txt', function(line, last) {
console.log(line);
if (last) {
return false; // stop reading
}
});
console.log("test");
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!!");
});