Menu
CoddyTech

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.

challenge icon

Aufgabe

Einfach
  • count.js gibt Reading... aus, dann <n> notes innerhalb des Callbacks und anschließend ebenfalls innerhalb des Callbacks Done.
  • 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.
quiz iconTeste dich selbst

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