2017-08-02 16 views
1

これは他の非同期関数にも起こる可能性がありますが、遭遇した問題としてreadlineを例として使用しています。Node.js Line-by-Line Readline終了後に実行

私は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は完了した後に実行される別のコールバックを取るか?

明確化:foorlはラインを読み取り、summaryは一度だけ呼び出されるたびに呼び出され、rl終了

答えて

1

おそらくclose eventを探していた後、次のとおりです。

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

「勝ったことこの場合のように、各行が読み込まれるときに 'summary'が呼び出されます。私の場合、 'summary'は一度だけ呼ばれ、' rl'の実行が終了した後です。 –

+0

答えが更新されました。 – jsalonen

+0

これは私が探していたものです。最高のおかげで! –

関連する問題