Dans ce didacticiel, vous découvrirez la méthode JavaScript setTimeout () à l'aide d'exemples.
La setTimeout()
méthode exécute un bloc de code après l'heure spécifiée. La méthode exécute le code une seule fois.
La syntaxe couramment utilisée de JavaScript setTimeout est:
setTimeout(function, milliseconds);
Ses paramètres sont:
- function - une fonction contenant un bloc de code
- millisecondes - le temps après lequel la fonction est exécutée
La setTimeout()
méthode renvoie un intervalID , qui est un entier positif.
Exemple 1: afficher un texte une fois après 3 secondes
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) setTimeout(greet, 3000); console.log('This message is shown first');
Production
Ce message est affiché en premier Hello world
Dans le programme ci-dessus, la setTimeout()
méthode appelle la greet()
fonction après 3000 millisecondes ( 3 secondes).
Par conséquent, le programme affiche le texte Hello world une seule fois après 3 secondes.
Remarque : la setTimeout()
méthode est utile lorsque vous souhaitez exécuter un bloc d'une fois après un certain temps. Par exemple, afficher un message à un utilisateur après l'heure spécifiée.
La setTimeout()
méthode renvoie l'ID d'intervalle. Par exemple,
// program to display a text using setTimeout method function greet() ( console.log('Hello world'); ) let intervalId = setTimeout(greet, 3000); console.log('Id: ' + intervalId);
Production
Id: 3 Bonjour tout le monde
Exemple 2: affichage de l'heure toutes les 3 secondes
// program to display time every 3 seconds function showTime() ( // return new date and time let dateTime= new Date(); // returns the current local time let time = dateTime.toLocaleTimeString(); console.log(time) // display the time after 3 seconds setTimeout(showTime, 3000); ) // calling the function showTime();
Production
17:45:39 17:45:43 17:45:47 17:45:50…
Le programme ci-dessus affiche l'heure toutes les 3 secondes.
La setTimeout()
méthode n'appelle la fonction qu'une seule fois après l'intervalle de temps (ici 3 secondes).
Cependant, dans le programme ci-dessus, puisque la fonction s'appelle elle-même, le programme affiche l'heure toutes les 3 secondes.
Ce programme s'exécute indéfiniment (jusqu'à épuisement de la mémoire).
Remarque : si vous devez exécuter une fonction plusieurs fois, il est préférable d'utiliser la setInterval()
méthode.
JavaScript clearTimeout ()
Comme vous l'avez vu dans l'exemple ci-dessus, le programme exécute un bloc de code après l'intervalle de temps spécifié. Si vous souhaitez arrêter cet appel de fonction, vous pouvez utiliser la clearTimeout()
méthode.
La syntaxe de la clearTimeout()
méthode est:
clearTimeout(intervalID);
Ici, la intervalID
est la valeur de retour de la setTimeout()
méthode.
Exemple 3: utiliser la méthode clearTimeout ()
// program to stop the setTimeout() method let count = 0; // function creation function increaseCount()( // increasing the count by 1 count += 1; console.log(count) ) let id = setTimeout(increaseCount, 3000); // clearTimeout clearTimeout(id); console.log('setTimeout is stopped.');
Production
setTimeout est arrêté.
Dans le programme ci-dessus, la setTimeout()
méthode est utilisée pour augmenter la valeur de count après 3 secondes. Cependant, la clearTimeout()
méthode arrête l'appel de fonction de la setTimeout()
méthode. Par conséquent, la valeur de comptage n'est pas augmentée.
Remarque : vous utilisez généralement la clearTimeout()
méthode lorsque vous devez annuler l' setTimeout()
appel de méthode avant qu'il ne se produise.
Vous pouvez également transmettre des arguments supplémentaires à la setTimeout()
méthode. La syntaxe est:
setTimeout(function, milliseconds, parameter1,… .paramenterN);
Lorsque vous passez des paramètres supplémentaires à la setTimeout()
méthode, ces paramètres ( parameter1
, parameter2
, etc.) seront transmis à la spécifiée fonction .
Par exemple,
// program to display a name function greet(name, lastName) ( console.log('Hello' + ' ' + name + ' ' + lastName); ) // passing argument to setTimeout setTimeout(greet, 1000, 'John', 'Doe');
Production
Bonjour John Doe
Dans le programme ci-dessus, deux paramètres John
et Doe
sont passés à la setTimeout()
méthode. Ces deux paramètres sont les arguments qui seront passés à la fonction (ici, la greet()
fonction) qui est définie à l'intérieur de la setTimeout()
méthode.
Lecture recommandée: JavaScript async () et await ()