Usando o resultado de um callback
Parte da seção Fundamentos de Node.js do Journey de Node.js da Coddy. Lição 17 de 33.
Uma leitura de arquivo pode terminar depois que a próxima linha do seu programa já tiver sido executada. Um callback é uma função passada para outra função chamar mais tarde. readFile chama a sua quando o arquivo está pronto. Ele passa primeiro um erro e, em seguida, o texto do arquivo.
readFile('greeting.txt', 'utf8', (err, text) => {
if (err) return;
console.log(text);
});Coloque dentro dessa função o trabalho que precisa do texto. Fora dela, o texto ainda não chegou. O código inicial fornece a importação e um ramo de tratamento de erro; concentre-se em usar o resultado bem-sucedido.
Desafio
FácilExecute practice.js primeiro. Ele falha porque text ainda está indefinido quando a última linha é executada; a leitura do arquivo ainda não terminou.
Mova o trabalho que precisa do texto do arquivo para o ponto em que a leitura tiver terminado. Imprima o conteúdo em letras maiúsculas, mantendo o bloco de tratamento de erros. Remova a variável externa text quando ela não for mais necessária. Sem argumento, espere BUY MILK. Com other.txt, espere CALL ADA.
Experimente você mesmo
import { readFile } from 'node:fs';
const file = process.argv[2] ?? 'note.txt';
let text;
readFile(file, 'utf8', (err, contents) => {
if (err) return;
text = contents;
});
console.log(text.toUpperCase());
Todas as lições de Fundamentos de Node.js
1Executando JavaScript no Node
Olá, NodeLendo o comandoArgumentos da linha de comandoComandos4Node assíncrono
Usando o resultado de um callbackCallbacksO resultado de uma PromiseQuando uma Promise falhaPromisesAguardando um valorAsync e awaitDuas leituras independentesPromise.allO loop de eventosTemporizadoresPratique por conta própria: Playground de Express