Auteur Auteur

Les fonctions setTimeout et setInterval

En JavaScript, les fonctions setTimeout et setInterval sont utilisées pour exécuter du code de manière asynchrone après un certain délai.

setTimeout

La fonction setTimeout est utilisée pour exécuter une fonction après un certain délai défini en millisecondes.

Syntaxe


setTimeout(fonction, délai, paramètres);

Elle prend trois paramètres :

  • fonction : la fonction à exécuter après le délai.
  • délai : le délai en millisecondes à attendre avant d'exécuter la fonction.
  • paramètres (facultatif) : des paramètres supplémentaires à passer à la fonction.

Exemple 1:


function greet(name) {
   console.log("Bonjour, " + name + " !");
}

setTimeout(greet, 2000, "Alice");

Dans cet exemple, la fonction greet sera exécutée après un délai de 2000 millisecondes (soit 2 secondes) avec le paramètre "Alice". Le message "Bonjour, Alice!" sera affiché dans la console après ce délai.

Exemple 2:


let timeoutId = setTimeout(function() {
   console.log("Ce message s'affiche après 3 secondes.");
}, 3000);

// Annuler clearTimeout si nécessaire
clearTimeout(timeoutId);

Dans cet exemple, la fonction setTimeout exécute une fonction anonyme après un délai de 3000 millisecondes (soit 3 secondes). Cette fonction anonyme affiche un message dans la console. L'identifiant timeoutId est utilisé pour annuler l'exécution future du setTimeout en utilisant clearTimeout si nécessaire.

setInterval:

La fonction setInterval est utilisée pour exécuter une fonction de manière répétitive après un certain délai défini en millisecondes.

Syntaxe:


setInterval(fonction, délai, paramètres);

Elle prend trois paramètres :

  • fonction : la fonction à exécuter de manière répétitive.
  • délai : le délai en millisecondes entre chaque exécution de la fonction.
  • paramètres (facultatif) : des paramètres supplémentaires à passer à la fonction.

Exemple 1:


let counter = 0;

function incrementCounter() {
   counter++;
   console.log("Compteur: " + counter);
}

let intervalId = setInterval(incrementCounter, 1000);

Dans cet exemple, la fonction incrementCounter sera exécutée toutes les 1000 millisecondes (soit 1 seconde). Elle incrémente le compteur et affiche le résultat dans la console. L'identifiant intervalId est utilisé pour annuler l'exécution future du setInterval si nécessaire.

Exemple 2:


let counter = 0;

let intervalId = setInterval(function() {
   counter++;
   console.log("Compteur: " + counter);
   
   if (counter === 5) {
      clearInterval(intervalId);
   }
}, 1000);

Dans cet exemple, la fonction setInterval exécute une fonction anonyme toutes les 1000 millisecondes (soit 1 seconde). Cette fonction incrémente le compteur et l'affiche dans la console. Lorsque le compteur atteint la valeur 5, clearInterval est appelé pour arrêter l'exécution future du setInterval.

Il est important de noter que setTimeout et setInterval renvoient tous deux un identifier qui peut être utilisé pour annuler l'exécution ultérieure de la fonction en utilisant clearTimeout pour setTimeout et clearInterval pour setInterval.

Les fonctions setTimeout et setInterval sont des fonctionnalités puissantes de JavaScript pour exécuter du code de manière asynchrone. setTimeout est utilisé pour une exécution unique après un délai spécifié, tandis que setInterval est utilisé pour l'exécution répétitive après un délai spécifié. Il est également possible d'annuler l'exécution future de ces fonctions en utilisant respectivement clearTimeout et clearInterval. Utilisez ces fonctions pour créer des animations, des retards d'exécution de code ou pour exécuter du code de manière répétitive.