Menu
CoddyTech

Cuando una Promise falla

Parte de la sección Conceptos básicos de Node.js del Journey de Node.js de Coddy. Lección 20 de 33.

Una promesa también puede fallar, por ejemplo, cuando un archivo no existe. Eso se llama rechazo. .catch proporciona el código que se ejecutará en caso de fallo. .finally se ejecuta después de un éxito o un fallo, lo que resulta útil para mostrar un mensaje de cierre.

readFile('weather.txt', 'utf8')
    .then((text) => console.log(text))
    .catch(() => console.log('No file'))
    .finally(() => console.log('Finished'));

Cuando falla la lectura, se omite su función de retorno de llamada para el éxito. El ejemplo muestra No file y después Finished. El mensaje de error debe ir en catch, para que una lectura exitosa no lo muestre.

challenge icon

Desafío

Fácil

Ejecuta practice.js primero: el archivo que falta provoca un error ENOENT no controlado.

Conserva la devolución de llamada de lectura exitosa. Añade .catch para imprimir No notes yet si falla y, después, .finally para imprimir Done en cualquiera de los dos casos. Sin argumentos, las líneas son No notes yet y Done. Prueba con note.txt: las líneas son Buy milk y Done.

Pruébalo tú mismo

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

Todas las lecciones de Conceptos básicos de Node.js

Practica por tu cuenta: Playground de Express