Quand une Promise échoue
Fait partie de la section Les bases de Node.js du Journey Node.js de Coddy. Leçon 20 sur 33.
Une promesse peut aussi échouer, par exemple lorsqu’un fichier n’existe pas. On appelle cela un rejet. .catch fournit le code à exécuter en cas d’échec. .finally s’exécute après une réussite ou un échec, ce qui est utile pour afficher un message de clôture.
readFile('weather.txt', 'utf8')
.then((text) => console.log(text))
.catch(() => console.log('No file'))
.finally(() => console.log('Finished'));Lorsque la lecture échoue, son rappel de réussite est ignoré. L’exemple affiche No file, puis Finished. Le message d’échec doit se trouver dans catch, afin qu’une lecture réussie ne l’affiche pas.
Défi
FacileLance d’abord practice.js : le fichier manquant provoque une erreur ENOENT non gérée.
Conserve le rappel en cas de lecture réussie. Ajoute .catch pour afficher No notes yet en cas d’échec, puis .finally pour afficher Done dans les deux cas. Sans arguments, les lignes sont No notes yet et Done. Essaie note.txt : les lignes sont Buy milk et Done.
Essayez vous-même
import { readFile } from 'node:fs/promises';
readFile(process.argv[2] ?? 'missing.txt', 'utf8').then((text) => console.log(text));
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