Fonctions de rappel
Fait partie de la section Les bases de Node.js du Journey Node.js de Coddy. Leçon 14 sur 24.
La lecture d’un fichier volumineux prend du temps, et un programme qui attend ne fait rien d’autre pendant ce temps.
fs.readFile(path, 'utf8', callback) lance la lecture et retourne immédiatement. Lorsque le fichier est chargé, Node appelle votre fonction de rappel avec (err, text). err vaut null en cas de succès et contient une erreur dans le cas contraire : vérifiez-le donc en premier. Tout ce qui a besoin du texte va à l’intérieur de la fonction de rappel.
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 s’affiche en premier : la ligne après readFile s’exécute pendant que le fichier est encore en cours de chargement.
Défi
Facilecount.jsafficheReading..., puis<n> notesdepuis le rappel, puisDone, également depuis le rappel.- Lorsque le fichier ne peut pas être lu, il affiche
Cannot read <file>au lieu du nombre.
Exécute node count.js, puis node count.js nothere.json.
Essayez vous-même
import fs from 'node:fs';
const file = process.argv[2] ?? 'notes.json';
console.log('Reading...');
// Lis le fichier avec fs.readFile et une fonction de rappel.
// Affiche le nombre de notes, puis Done.
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les bases de Node.js
1Exécuter JavaScript avec Node
Bonjour, NodeArguments de ligne de commandeCommandes4Node asynchrone
Fonctions de rappelPromesses