Callbacks
Parte da seção Fundamentos de Node.js do Journey de Node.js da Coddy. Lição 14 de 24.
Ler um arquivo grande leva tempo, e um programa que fica esperando por ele não faz mais nada nesse meio-tempo.
fs.readFile(path, 'utf8', callback) inicia a leitura e retorna imediatamente. Quando o arquivo é carregado, o Node chama seu callback com (err, text). err é null em caso de sucesso e contém um erro caso contrário, então verifique-o primeiro. Tudo o que precisa do texto fica dentro do 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 é impresso primeiro: a linha após readFile é executada enquanto o arquivo ainda está sendo carregado.
Desafio
Fácilcount.jsexibeReading..., depois<n> notesdentro do callback e, em seguida,Done, também dentro do callback.- Quando não é possível ler o arquivo, ele exibe
Cannot read <file>em vez da contagem.
Execute node count.js e, em seguida, node count.js nothere.json.
Experimente você mesmo
import fs from 'node:fs';
const file = process.argv[2] ?? 'notes.json';
console.log('Reading...');
// Leia o arquivo com fs.readFile e uma função de callback.
// Imprima o número de notas e, em seguida, Done.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos de Node.js
1Executando JavaScript no Node
Olá, NodeArgumentos de linha de comandoComandos