Menu
CoddyTech

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.

challenge icon

Défi

Facile

Lance 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

Entraînez-vous par vous-même : Playground Express