Node.js 逐行读取行完成后执行

Node.js Execute after Line-by-Line Readline Finishes

其他异步函数可能会发生这种情况,但我以 readline 为例,因为这是我遇到的问题。

我刚开始使用 JS,目前正在尝试通过标准输入 (<) 从文件中收集输入。下面的代码就是一个例子:

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false
});

rl.on('line', foo);

function foo(line) {
    // Code to be iterated by line
}

function summary() {
    // Code to be executed after rl finishes
}

那么问题来了,我把summary函数放在哪里呢? rl.on 是否接受另一个在完成后执行的回调?

说明: foorl读取一行时每次调用一次,而summary只调用一次,在[之后=17=] 完成

您可能正在寻找 close event:

rl.on('close', summary);