Programmation Asynchrone
Qu’est-ce que l’asynchrone ?
Section intitulée « Qu’est-ce que l’asynchrone ? »En JavaScript, le code est exécuté ligne par ligne (synchronement).
Mais certaines opérations (ex. attendre un délai, charger une ressource externe, faire une requête HTTP) prennent du temps.
L’asynchrone permet de ne pas bloquer le programme pendant ces opérations.
Le reste du code continue de s’exécuter, et la tâche longue sera traitée plus tard quand elle est prête.
setTimeout
Section intitulée « setTimeout »setTimeout exécute une fonction une seule fois après un délai donné (en millisecondes).
console.log("Début");
setTimeout(() => { console.log("Exécuté après 2 secondes");}, 2000);
console.log("Fin");Explication (setTimeout)
Section intitulée « Explication (setTimeout) »console.log("Début")→ s’affiche immédiatementsetTimeoutest planifié pour 2000 ms (2s)console.log("Fin")s’exécute avant le callback desetTimeout- Après 2 secondes, la fonction dans
setTimeoutest exécutée
setInterval
Section intitulée « setInterval »setInterval exécute une fonction de manière répétée à intervalles réguliers.
let compteur = 0;
let intervalle = setInterval(() => { compteur++; console.log("Compteur :", compteur);
if (compteur >= 5) { clearInterval(intervalle); // stoppe la boucle }}, 1000);Explication (setInterval)
Section intitulée « Explication (setInterval) »- La fonction est exécutée toutes les 1000 ms (1 seconde)
- Le compteur est incrémenté à chaque exécution
- Quand
compteuratteint 5, on appelleclearIntervalpour arrêter la boucle
Quand utiliser ?
Section intitulée « Quand utiliser ? »- setTimeout → exécuter une tâche une seule fois après un délai
(ex. afficher une notification après 5 secondes) - setInterval → exécuter une tâche répétée
(ex. mettre à jour une horloge en temps réel)
Bonnes pratiques
Section intitulée « Bonnes pratiques »- Toujours nettoyer un
setIntervalavecclearIntervalquand il n’est plus utile (éviter les boucles infinies). - Éviter de mettre trop de
setTimeoutimbriqués → préférer des solutions plus modernes comme les Promises ou async/await. - Utiliser l’asynchrone pour garder une application fluide (ne pas bloquer l’interface).