Menu
CoddyTech

Callbacks

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

Leer un archivo grande lleva tiempo, y un programa que se queda esperando no hace nada más mientras tanto.

fs.readFile(path, 'utf8', callback) inicia la lectura y retorna de inmediato. Cuando se carga el archivo, Node llama a tu callback con (err, text). err es null si todo sale bien y un error en caso contrario, así que compruébalo primero. Todo lo que necesite el texto va dentro del callback.

import fs from 'node:fs';

fs.readFile('poem.txt', 'utf8', (err, text) => {
    if (err) {
        console.log('No poem today');
        return;
    }
    console.log(text.split('\n').length + ' lines');
});
console.log('Asked for the poem');

Asked for the poem se imprime primero: la línea después de readFile se ejecuta mientras el archivo todavía se está cargando.

challenge icon

Desafío

Fácil
  • count.js imprime Reading..., después <n> notes desde dentro de la función de retorno de llamada y, después, Done, también desde la función de retorno de llamada.
  • Cuando no se puede leer el archivo, imprime Cannot read <file> en lugar del recuento.

Ejecuta node count.js y, después, node count.js nothere.json.

Pruébalo tú mismo

import fs from 'node:fs';

const file = process.argv[2] ?? 'notes.json';

console.log('Reading...');
// Lee el archivo con fs.readFile y una función de devolución de llamada.
// Imprime el número de notas y luego Done.
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

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