Attendre une valeur
Fait partie de la section Les bases de Node.js du Journey Node.js de Coddy. Leçon 22 sur 33.
Une expression await permet d’écrire l’étape suivante après la lecture, plutôt que dans un rappel then. Elle attend cette promesse et vous en donne le résultat. D’autres tâches peuvent continuer à s’exécuter pendant que la lecture attend.
const text = await readFile('name.txt', 'utf8');
console.log(text.toUpperCase());Sans await, text contiendrait la promesse, qui ne possède aucune méthode de chaîne. Ces fichiers sont des modules, donc await est autorisé en dehors d’une fonction. À l’intérieur d’une fonction, déclarez la fonction comme async. Une fonction async renvoie également une promesse à son appelant.
Défi
FacileLance d’abord practice.js. L’erreur indique que text.toUpperCase is not a function : text contient une promesse, et non le contenu du fichier.
Fais en sorte que text contienne la lecture terminée avant que le programme l’utilise. Garde la fonction de lecture de fichier asynchrone. Relance le programme : la sortie est BUY MILK.
Lance le programme avec l’argument other.txt : le deuxième fichier fourni doit afficher CALL ADA. Garde l’expression du nom de fichier fourni.
Essayez vous-même
import { readFile } from 'node:fs/promises';
const text = readFile(process.argv[2] ?? 'note.txt', 'utf8');
console.log(text.toUpperCase());
Toutes les leçons de Les bases de Node.js
1Exécuter JavaScript avec Node
Bonjour, NodeLire la commandeArguments de ligne de commandeCommandes5Événements, entrées et packages
Écouter avant d’émettreÉmetteurs d’événementsLire les entréesEntraînez-vous par vous-même : Playground Express