Callback
Fa parte della sezione Fondamenti di Node.js del percorso Node.js di Coddy. Lezione 14 di 24.
Leggere un file di grandi dimensioni richiede tempo e, nel frattempo, un programma che resta in attesa non fa nient’altro.
fs.readFile(path, 'utf8', callback) avvia la lettura e restituisce subito il controllo. Quando il file è caricato, Node chiama la tua funzione di callback con (err, text). err è null in caso di successo e contiene un errore altrimenti, quindi controllalo per primo. Tutto ciò che ha bisogno del testo va inserito nella funzione di 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 viene stampato per primo: la riga dopo readFile viene eseguita mentre il file è ancora in caricamento.
Sfida
Facilecount.jsstampaReading..., poi<n> notesdall'interno della callback e infineDone, anch'esso dalla callback.- Quando non è possibile leggere il file, stampa
Cannot read <file>invece del conteggio.
Esegui node count.js, poi node count.js nothere.json.
Provalo tu
import fs from 'node:fs';
const file = process.argv[2] ?? 'notes.json';
console.log('Reading...');
// Leggi il file con fs.readFile e una funzione di callback.
// Stampa il numero di note, poi Done.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti di Node.js
1Eseguire JavaScript con Node
Ciao, NodeArgomenti della riga di comandoComandi