有没有办法在Node.js中获取同步终端输入

时间:2015-07-02 19:30:28

标签: node.js stdin

我在SO上查看了类似的问题,我一直在质疑是否可以从命令行获取同步输入。

我知道 main1 sub1 sub2 sub_sub sub3 readline,但这两者似乎都是异步的。

我正在寻找一种方法来提示用户输入,在我的脚本中稍后的代码在用户输入之前没有运行。

1 个答案:

答案 0 :(得分:0)

如果您知道要同步的固定输入数量,也许可以尝试一下。

    const readline = require('readline');

    const rl = readline.createInterface({
      input: process.stdin,
      output: process.stdout
    });
    let i = 0;
    rl.question('Number of inputs : ', (answer1) => {
      rl.on('line', (answer2) => {
        console.log(`input: ${answer2}`);
        i++;
        if (i >= answer1) {
          rl.close();
        }
      });
    });