Une fonction de rappel est une fonction passée en argument à une autre fonction. Il permet à une fonction d'appeler une autre fonction, permettant des opérations asynchrones et une conception de code modulaire.
Un rappel est une fonction qui est passée en argument à une autre fonction et qui est exécutée une fois qu'une opération est terminée.
function greet(name, callback) { console.log("Hello, " + name); callback(); } function sayGoodbye() { console.log("Goodbye!"); } greet("Alice", sayGoodbye); // Output: // Hello, Alice // Goodbye!
Dans cet exemple, sayGoodbye est la fonction de rappel transmise à greet.
Les rappels synchrones sont exécutés immédiatement dans la fonction.
Exemple : Itération de tableau
const numbers = [1, 2, 3, 4]; numbers.forEach(function(number) { console.log(number * 2); }); // Output: // 2 // 4 // 6 // 8
Ici, la fonction de rappel à l'intérieur de forEach s'exécute pour chaque élément du tableau.
Les rappels asynchrones sont utilisés pour des tâches telles que la récupération de données, les minuteries ou la gestion des événements. Ils s'exécutent une fois l'opération en cours terminée.
Exemple : Minuterie
console.log("Start"); setTimeout(function() { console.log("This runs after 2 seconds"); }, 2000); console.log("End"); // Output: // Start // End // This runs after 2 seconds
Vous pouvez créer des fonctions personnalisées qui acceptent les rappels.
Exemple : Effectuer une opération
function performOperation(a, b, callback) { const result = a + b; callback(result); } performOperation(5, 3, function(result) { console.log("The result is:", result); }); // Output: // The result is: 8
Lorsque vous utilisez les rappels, vous pouvez transmettre les erreurs à la fonction de rappel pour les gérer correctement.
Exemple : Simuler une erreur
function fetchData(callback) { const error = false; const data = { id: 1, name: "Alice" }; if (error) { callback("Error occurred", null); } else { callback(null, data); } } fetchData(function(err, data) { if (err) { console.log(err); } else { console.log("Data fetched:", data); } }); // Output: // Data fetched: { id: 1, name: 'Alice' }
document.querySelector("button").addEventListener("click", function() { console.log("Button clicked!"); });
setTimeout(function() { console.log("This runs after 1 second"); }, 1000);
Bien que les rappels soient utiles, ils peuvent conduire à un enfer des rappels lorsqu'ils sont imbriqués trop profondément.
Exemple de Callback Hell :
getData(function(data) { processData(data, function(result) { saveData(result, function(response) { console.log("Data saved:", response); }); }); });
JavaScript moderne utilise des Promises ou async/await pour gérer plus proprement les opérations asynchrones.
Comprendre les rappels est une étape fondamentale dans la maîtrise de la programmation JavaScript.
Bonjour, je m'appelle Abhay Singh Kathayat !
Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales.
N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!