Dies ist wahrscheinlich mit anderen asynchronen Funktionen passieren, aber ich bin readline
als Beispiel, da das ist das Problem, das ich angetroffen habe.Node.js Ausführen nach Zeile Readline Finishes
Ich habe gerade angefangen mit JS und versucht derzeit, Eingabe von einer Datei über Stdin (<
) zu sammeln. Ein Beispiel wäre der Code unten sein:
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
}
Die Frage ist also, wo ich summary
Funktion setzen? Nimmt rl.on
einen anderen Rückruf, der nach dem Ende ausgeführt wird?
Klarstellung:foo
wird jedes Mal aufgerufen, wenn rl
eine Zeile liest und summary
wird nur einmal aufgerufen, die nach rl
Veredelungen
Das ‚gewonnen t arbeiten, da in diesem Fall 'summary' aufgerufen wird, wenn jede Zeile gelesen wird. In meinem Fall möchte ich "Zusammenfassung" nur einmal aufrufen, und zwar nachdem "rl" die Ausführung beendet hat. –
Aktualisierte Antwort. – jsalonen
Ja, das ist, was ich gesucht habe. Besten Dank! –