2017-08-02 63 views
1

這可能會發生在其他異步函數上,但我使用readline作爲示例,因爲這是我遇到的問題。Node.js在逐行讀取完成後執行

我剛開始使用JS,目前正試圖通過stdin(<)從文件收集輸入。一個例子是下面的代碼:

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只調用一次一次叫,這是後rl完成

回答

1

您可能正在尋找close event

rl.on('close', summary); 
+0

這贏得」 t在這種情況下工作,當每行被讀取時調用'summary'。在我的情況下,我只需要一次調用'summary',那是在'rl'完成執行之後。 –

+0

已更新的答案。 – jsalonen

+0

是的,這就是我一直在尋找的。非常感謝! –