Menu
CoddyTech

Esperar un valor

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

Una expresión await te permite escribir el siguiente paso después de la lectura, en lugar de dentro de una función de retorno de llamada then. Espera a que se resuelva esta promesa y te da su resultado. Mientras la lectura está esperando, se pueden seguir realizando otras tareas.

const text = await readFile('name.txt', 'utf8');
console.log(text.toUpperCase());

Sin await, text contendría la promesa, que no tiene métodos de cadena. Estos archivos son módulos, así que se permite usar await fuera de una función. Dentro de una función, marca la función como async. Una función async también devuelve una promesa a quien la llama.

challenge icon

Desafío

Fácil

Ejecuta practice.js primero. El error indica que text.toUpperCase is not a function: text contiene una promesa, no el texto del archivo.

Haz que text contenga la lectura completada antes de que el programa la use. Conserva la función asíncrona del archivo. Vuelve a ejecutar: la salida es BUY MILK.

Ejecuta con el argumento other.txt: el segundo archivo proporcionado debe imprimir CALL ADA. Conserva la expresión del nombre de archivo proporcionado.

Pruébalo tú mismo

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

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

Practica por tu cuenta: Playground de Express