Javascript setTimeout ()

Table des matières

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 intervalIDest 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 Johnet Doesont 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 ()

Articles intéressants...