Événements de minutage JavaScript: setTimeout et setInterval

Les programmeurs utilisent des événements de synchronisation pour retarder l'exécution de certains codes ou pour répéter le code à un intervalle spécifique.

Il existe deux fonctions natives dans la bibliothèque JavaScript utilisées pour accomplir ces tâches: setTimeout()et setInterval().

setTimeout

setTimeout() est utilisé pour retarder l'exécution de la fonction passée d'un laps de temps spécifié.

Vous passez à deux paramètres setTimeout(): la fonction que vous souhaitez appeler et la durée en millisecondes pour retarder l'exécution de la fonction.

N'oubliez pas qu'il y a 1000 millisecondes (ms) dans une seconde, donc 5000 ms équivaut à 5 secondes.

setTimeout() exécutera la fonction à partir du premier argument une fois après que le temps spécifié se soit écoulé.

Exemple:

let timeoutID; function delayTimer() { timeoutID = setTimeout(delayedFunction, 3000); } function delayedFunction() { alert(“Three seconds have elapsed.”); }

Lorsque la delayTimerfonction est appelée, elle s'exécute setTimeout. Après 3 secondes (3000 ms), il s'exécutera, delayedFunctionce qui enverra une alerte.

setInterval

Utilisez setInterval()pour spécifier une fonction à répéter avec un délai entre les exécutions.

Là encore, deux paramètres sont passés à setInterval(): la fonction que vous souhaitez appeler et la durée en millisecondes pour retarder chaque appel de la fonction.

setInterval() continuera à s'exécuter jusqu'à ce qu'il soit effacé.

Exemple:

let intervalID; function repeatEverySecond() { intervalID = setInterval(sendMessage, 1000); } function sendMessage() { console.log(“One second elapsed.”); }

Lorsque votre code appelle la fonction, repeatEverySecondil s'exécute setInterval. setIntervalexécutera la fonction sendMessagetoutes les secondes (1000 ms).

clearTimeout et clearInterval

Il existe également des fonctions natives correspondantes pour arrêter les événements de chronométrage: clearTimeout()et clearInterval().

Vous avez peut-être remarqué que chaque fonction de minuterie ci-dessus est enregistrée dans une variable. Lorsque la fonction setTimeoutou setIntervals'exécute, un numéro lui est attribué, qui est enregistré dans cette variable. Notez que JavaScript fait tout cela en arrière-plan.

Ce numéro généré est unique pour chaque instance de minuteries. Ce numéro attribué est également la façon dont les minuteries sont identifiées lorsque vous souhaitez les arrêter. Pour cette raison, vous devez toujours régler votre minuterie sur une variable.

Pour plus de clarté de votre code, vous devez toujours faire correspondre clearTimeout()à setTimeout()et clearInterval()à setInterval().

Pour arrêter une minuterie, appelez la fonction d'effacement correspondante et transmettez-lui la variable d'ID de minuterie qui correspond à la minuterie que vous souhaitez arrêter. La syntaxe pour clearInterval()et clearTimeout()sont les mêmes.

Exemple:

let timeoutID; function delayTimer() { timeoutID = setTimeout(delayedFunction, 3000); } function delayedFunction() { alert(“Three seconds have elapsed.”); } function clearAlert() { clearTimeout(timeoutID); }