Callbacks
Teil des Abschnitts Node.js-Grundlagen der Node.js-Journey von Coddy. Lektion 14 von 24.
Das Lesen einer großen Datei dauert eine Weile, und ein Programm, das darauf wartet, tut in der Zwischenzeit nichts anderes.
fs.readFile(path, 'utf8', callback) startet den Lesevorgang und kehrt sofort zurück. Sobald die Datei geladen ist, ruft Node deinen Callback mit (err, text) auf. Bei Erfolg ist err null, andernfalls enthält es einen Fehler. Prüfe es also zuerst. Alles, was den Text benötigt, gehört in den Callback.
import fs from 'node:fs';
fs.readFile('poem.txt', 'utf8', (err, text) => {
if (err) {
console.log('No poem today');
return;
}
console.log(text.split('\n').length + ' lines');
});
console.log('Asked for the poem');Asked for the poem wird zuerst ausgegeben: Die Zeile nach readFile wird ausgeführt, während die Datei noch geladen wird.
Aufgabe
Einfachcount.jsgibtReading...aus, dann<n> notesinnerhalb des Callbacks und anschließend ebenfalls innerhalb des CallbacksDone.- Wenn die Datei nicht gelesen werden kann, gibt das Programm statt der Anzahl
Cannot read <file>aus.
Führe node count.js und anschließend node count.js nothere.json aus.
Probier es selbst
import fs from 'node:fs';
const file = process.argv[2] ?? 'notes.json';
console.log('Reading...');
// Lies die Datei mit fs.readFile und einem Callback.
// Gib die Anzahl der Notizen aus, dann Done.
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Node.js-Grundlagen
1JavaScript mit Node ausführen
Hallo, NodeKommandozeilenargumenteBefehle