如何在Node.js中使用readline将所有输入行放入数组中?

rea*_*728 5 javascript io node.js

我想创建一个便利功能,出于CodeAbbey的目的执行以下操作:

var rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

var lines = [];

rl.on('line', (line) => {
  lines.push(line);
});

return lines;
Run Code Online (Sandbox Code Playgroud)

但是,由于readline作为事件处理程序的作用方式,我得到的当然是一个空数组。

我如何在这里获得readline来执行所需的行为?还是我使用其他图书馆?我宁愿只使用“默认”组件,但如果必须使用其他组件,我会使用。

Mun*_*med 7

var lines = [];

rl.on('line', (line) => {
  lines.push(line);
}).on('close', () => {
  // Do what you need to do with lines here
  process.exit(0);
});
Run Code Online (Sandbox Code Playgroud)

作为Node.js一个事件循环运行,有很多很多的包,其中包括可用的功能Readline,是异步的。一般来说,你将需要处理lines时close发出的事件。

您可能会发现这个非常相似的已解决问题很有帮助: node.js:将文本文件读入数组。(每行一个项目在数组中。)

希望这可以帮助!