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
是否接受另一个在完成后执行的回调?
说明: foo
在rl
读取一行时每次调用一次,而summary
只调用一次,在[之后=17=] 完成
您可能正在寻找 close event:
rl.on('close', summary);
其他异步函数可能会发生这种情况,但我以 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
是否接受另一个在完成后执行的回调?
说明: foo
在rl
读取一行时每次调用一次,而summary
只调用一次,在[之后=17=] 完成
您可能正在寻找 close event:
rl.on('close', summary);