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.
Aufgabe
EinfachFü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