Usare il risultato di una callback
Fa parte della sezione Fondamenti di Node.js del percorso Node.js di Coddy. Lezione 17 di 33.
La lettura di un file può terminare dopo che la riga successiva del tuo programma è già stata eseguita. Una funzione di callback è una funzione passata a un'altra funzione perché la chiami in seguito. readFile chiama la tua quando il file è pronto. Passa prima un errore e poi il testo del file.
readFile('greeting.txt', 'utf8', (err, text) => {
if (err) return;
console.log(text);
});Inserisci in questa funzione le operazioni che richiedono il testo. Al di fuori di essa, il testo non è ancora arrivato. Il codice iniziale fornisce l'importazione e un ramo per gli errori; concentrati sull'uso del risultato ottenuto in caso di successo.
Sfida
FacileEsegui prima practice.js. Non funziona perché text è ancora undefined quando viene eseguita l’ultima riga; la lettura del file non è terminata.
Sposta il lavoro che richiede il testo del file nel punto in cui la lettura è terminata. Stampa il contenuto in maiuscolo, mantenendo il ramo di errore. Rimuovi la variabile esterna text quando non è più necessaria. Senza argomenti, aspettati BUY MILK. Con other.txt, aspettati CALL ADA.
Provalo tu
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());
Tutte le lezioni di Fondamenti di Node.js
1Eseguire JavaScript con Node
Ciao, NodeLeggere il comandoArgomenti della riga di comandoComandi4Node asincrono
Usare il risultato di una callbackCallbackIl risultato di una PromiseQuando una Promise falliscePromiseAttendere un valoreAsync e awaitDue letture indipendentiPromise.allIl ciclo degli eventiTimerEsercitati da solo: Playground Express