95. Callbacks et Callback Hell
Une fonction de rappel (callback) est une fonction passée en argument à une autre fonction, qui est ensuite exécutée plus tard, une fois qu'une tâche est terminée.
Exemple : Callback de base
javascript function loadData(callback) { // Simuler la récupération de données après 2 secondes setTimeout(() => { const data = { content: 'Texte chargé' }; callback(data); // Exécuter le callback une fois terminé }, 2000); }
loadData((result) => { console.log('Chargement terminé :', result.content); }); console.log('Ceci s'exécute en premier !'); // Non-bloquant
Callback Hell (La pyramide du destin)
Lorsque nous avons plusieurs opérations asynchrones dépendant des résultats de la précédente, l'imbrication profonde des callbacks donne un code difficile à lire, à maintenir et à déboguer.
javascript getData(function(data) { parseData(data, function(parsed) { validate(parsed, function(validated) { saveToDB(validated, function(success) { // ... encore 5 niveaux d'imbrication }); }); }); });
Cela a conduit à l'invention des Promises.