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.
Desafío
Fácilcount.jsimprimeReading..., después<n> notesdesde 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.
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
1Ejecutar JavaScript en Node
Hola, NodeArgumentos de la línea de comandosComandos