Menu
CoddyTech

Auf einen Wert warten

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

Ein await-Ausdruck ermöglicht es dir, den nächsten Schritt nach dem Lesevorgang zu schreiben, statt innerhalb eines then-Callbacks. Er wartet auf dieses Promise und liefert dir dessen Ergebnis. Während des Wartens auf den Lesevorgang können weiterhin andere Aufgaben ausgeführt werden.

const text = await readFile('name.txt', 'utf8');
console.log(text.toUpperCase());

Ohne await würde text das Promise enthalten, das keine Zeichenfolgenmethoden hat. Diese Dateien sind Module, daher ist await auch außerhalb einer Funktion erlaubt. Innerhalb einer Funktion markierst du die Funktion als async. Eine async-Funktion gibt außerdem ein Promise an ihren Aufrufer zurück.

challenge icon

Aufgabe

Einfach

Führe zuerst practice.js aus. Der Fehler besagt, dass text.toUpperCase is not a function: text enthält ein Promise und nicht den Dateiinhalt.

Sorge dafür, dass text den abgeschlossenen Lesevorgang enthält, bevor das Programm es verwendet. Behalte die asynchrone Dateifunktion bei. Führe das Programm erneut aus: Die Ausgabe lautet BUY MILK.

Führe das Programm mit dem Argument other.txt aus: Die bereitgestellte zweite Datei muss CALL ADA ausgeben. Behalte den bereitgestellten Dateinamen-Ausdruck bei.

Probier es selbst

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

Alle Lektionen in Node.js-Grundlagen

Übe selbstständig: Express-Playground