Menu
CoddyTech

El resultado de una Promise

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

Una promesa representa un resultado que llegará más adelante. A diferencia de la versión con callback de node:fs, readFile de node:fs/promises no recibe ningún callback y devuelve una promesa. Su método .then acepta una función que se ejecutará con el resultado cuando la lectura se complete correctamente.

import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
    console.log('Hello, ' + name);
});

El parámetro name contiene el texto del archivo, no una promesa. El trabajo que depende del texto debe realizarse aquí. Por ahora, el archivo está disponible y la lectura se completa correctamente. En el siguiente paso se manejará una lectura que falla.

challenge icon

Desafío

Fácil

Ejecuta primero practice.js: imprime Note: [object Promise]. El programa está combinando texto con la promesa en lugar de con su resultado final.

Usa una devolución de llamada .then para imprimir la lectura completada como Note: seguida del texto del archivo. Si no se proporciona ningún argumento, se lee note.txt y se obtiene Note: Buy milk. Prueba con other.txt: debería aparecer Note: Call Ada.

Pruébalo tú mismo

import { readFile } from 'node:fs/promises';
const file = process.argv[2] ?? 'note.txt';
console.log('Note: ' + readFile(file, 'utf8'));

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

Practica por tu cuenta: Playground de Express