Menu
CoddyTech

Ein Promise-Ergebnis

Teil des Abschnitts Node.js-Grundlagen der Node.js-Journey von Coddy. Lektion 19 von 33.

Ein Promise steht für ein Ergebnis, das später eintrifft. Anders als die Callback-Version aus node:fs nimmt readFile aus node:fs/promises keinen Callback entgegen und gibt ein Promise zurück. Seine Methode .then akzeptiert eine Funktion, die bei erfolgreichem Lesen mit dem Ergebnis aufgerufen wird.

import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
    console.log('Hello, ' + name);
});

Der Parameter name enthält den Dateiinhalt, kein Promise. Alles, was vom Text abhängt, gehört hierher. Im Moment ist die Datei vorhanden und das Lesen gelingt. Im nächsten Schritt wird ein fehlgeschlagener Lesevorgang behandelt.

challenge icon

Aufgabe

Einfach

Führe zuerst practice.js aus: Es gibt Note: [object Promise] aus. Das Programm verknüpft den Text mit dem Promise statt mit dessen späterem Ergebnis.

Verwende einen .then-Callback, um den abgeschlossenen Lesevorgang als Note: gefolgt vom Dateiinhalt auszugeben. Ohne Argument wird note.txt gelesen, was Note: Buy milk ergibt. Probiere other.txt aus: Erwartet wird Note: Call Ada.

Probier es selbst

import { readFile } from 'node:fs/promises';
const file = process.argv[2] ?? 'note.txt';
console.log('Note: ' + readFile(file, 'utf8'));

Alle Lektionen in Node.js-Grundlagen

Übe selbstständig: Express-Playground