Maison > interface Web > js tutoriel > Comprendre les fonctions de rappel en JavaScript : un guide complet

Comprendre les fonctions de rappel en JavaScript : un guide complet

Patricia Arquette
Libérer: 2024-12-24 00:07:10
original
382 Les gens l'ont consulté

Understanding Callback Functions in JavaScript: A Comprehensive Guide

Fonctions de rappel en JavaScript

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.


1. Comprendre les fonctions de rappel

Définition

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.

Exemple de base

function greet(name, callback) {
  console.log("Hello, " + name);
  callback();
}

function sayGoodbye() {
  console.log("Goodbye!");
}

greet("Alice", sayGoodbye);
// Output:
// Hello, Alice
// Goodbye!
Copier après la connexion

Dans cet exemple, sayGoodbye est la fonction de rappel transmise à greet.


2. Rappels synchrones

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
Copier après la connexion

Ici, la fonction de rappel à l'intérieur de forEach s'exécute pour chaque élément du tableau.


3. Rappels asynchrones

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
Copier après la connexion

4. Fonctions de rappel personnalisées

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
Copier après la connexion

5. Gestion des erreurs avec les rappels

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' }
Copier après la connexion

6. Cas d'utilisation courants des rappels

  1. Gestion des événements :
   document.querySelector("button").addEventListener("click", function() {
     console.log("Button clicked!");
   });
Copier après la connexion
  1. Minuteries :
   setTimeout(function() {
     console.log("This runs after 1 second");
   }, 1000);
Copier après la connexion
  1. Appels API : Les rappels sont largement utilisés dans les requêtes AJAX traditionnelles et les API de style plus ancien.

7. Rappels vs promesses

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);
    });
  });
});
Copier après la connexion

JavaScript moderne utilise des Promises ou async/await pour gérer plus proprement les opérations asynchrones.


8. Avantages des fonctions de rappel

  • Activer la programmation asynchrone.
  • Promouvoir le code modulaire et réutilisable.
  • Facilitez les comportements personnalisés.

9. Inconvénients des fonctions de rappel

  • Peut entraîner un enfer de rappel (rappels profondément imbriqués).
  • Difficile à lire et à déboguer dans des scénarios complexes.

10. Résumé

  • Les rappels sont des fonctions passées en arguments à d'autres fonctions.
  • Ils sont indispensables à la programmation asynchrone en JavaScript.
  • Toujours gérer correctement les erreurs lors de l'utilisation des rappels.
  • Envisagez d'utiliser Promises ou async/wait pour un code plus propre et plus maintenable.

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal