Callback

Un callback est une fonction qui est passée en argument à une autre fonction et qui est exécutée à la fin de celle-ci, une fois qu’une opération spécifique est terminée. C’est un concept clé dans la programmation asynchrone, utilisé pour gérer des tâches qui peuvent prendre du temps, comme les requêtes réseau, la lecture de fichiers ou les animations. Au lieu de bloquer l’exécution du programme jusqu’à ce que l’opération soit terminée, la fonction principale continue son exécution, et le callback est déclenché lorsque l’opération est finalisée.

Les callbacks sont largement utilisés dans plusieurs langages de programmation, notamment en JavaScript, Python, et Java, pour gérer des événements ou des tâches non bloquantes.

Il existe deux types de callbacks :

  • Callback synchrone : La fonction callback est exécutée immédiatement après que la fonction principale a terminé son exécution.
  • Callback asynchrone : La fonction callback est appelée à une étape ultérieure, généralement après la fin d’une opération non bloquante (par exemple, une requête HTTP ou une interaction avec une base de données).

En JavaScript, par exemple, un callback est souvent utilisé dans des fonctions comme setTimeout() ou dans des requêtes AJAX pour traiter les données reçues une fois la requête terminée. Bien que puissants, les callbacks peuvent entraîner ce qu’on appelle le « callback hell » lorsqu’ils sont imbriqués, rendant le code difficile à lire et à maintenir. Pour pallier ce problème, des alternatives comme les Promises et les async/await sont souvent préférées dans les environnements modernes.

Articles associés

The Main Thread : le fil d’exécution JavaScript du navigateur

Technique

3 juin 2025

Le navigateur utilise un fil d’exécution JavaScript principal pour exécuter ses tâches. Les développeurs Front-end avertis (et surtout anglophones) le nomment religieusement « The Main Thread »...

Lire la suite de The Main Thread : le fil d’exécution JavaScript du navigateur

Êtes-vous prêt pour l’API View Transition ?

Technique

25 mars 2025

Lors de l’article précédent nous parlions de l’amélioration progressive, or l’API View Transition en est un exemple très concret et applicable dès aujourd’hui. La promesse...

Lire la suite de Êtes-vous prêt pour l’API View Transition ?

Définitions

Javascript

JavaScript est un langage de programmation dynamique principalement utilisé pour ajouter des fonctionnalités interactives aux pages web. Il permet de manipuler le DOM, de gérer des événements, et d'effectuer des requêtes asynchrones. Voir la définition complète

 Revenir à Javascript
Requête

Le HTTP (HyperText Transfer Protocol) est un protocole utilisé pour transférer des données sur le web, permettant la communication entre un navigateur et un serveur pour afficher des pages web. Voir la définition complète

 Revenir à Requête
AJAX

AJAX (Asynchronous JavaScript and XML) est une technique qui permet de charger des données en arrière-plan sans recharger la page entière, rendant les applications web plus réactives et dynamiques. Voir la définition complète

 Revenir à AJAX