4.1 Fonction setTimeout
Les timers en JavaScript te permettent d'exécuter certaines actions après un délai spécifié. Les deux méthodes principales pour travailler avec les timers sont setTimeout() et setInterval(). Elles sont utilisées pour exécuter du code avec un délai ou à intervalles réguliers.
La méthode setTimeout() te permet d'exécuter une fonction une seule fois après un certain nombre de millisecondes. C’est pratique pour l'exécution différée de code.
Syntaxe :
const timeoutID = setTimeout(callback, delay, ...args);
Où :
callback: fonction qui sera exécutéedelay: le délai en millisecondes avant l'exécution de la fonctionargs: arguments supplémentaires qui seront passés à la fonctioncallback
Exemple d'utilisation de setTimeout() :
// Fonction qui sera exécutée dans 2 secondes
function greet() {
console.log('Hello, world!');
}
// Définition du timer
const timeoutID = setTimeout(greet, 2000);
4.2 Annulation du timer setTimeout
Si tu as besoin d'annuler l'exécution d'une fonction planifiée via setTimeout(), tu peux utiliser la méthode clearTimeout() :
// Fonction qui sera exécutée dans 2 secondes
function greet() {
console.log('Hello, world!');
}
// Définition du timer
const timeoutID = setTimeout(greet, 2000);
// Annulation du timer
clearTimeout(timeoutID);
Exemple avec des arguments supplémentaires :
// Fonction qui sera exécutée dans 2 secondes avec des arguments
function greet(name) {
console.log(`Hello, ${name}!`);
}
// Définition du timer en passant un argument
const timeoutID = setTimeout(greet, 2000, 'Alice');
4.3 Fonction setInterval
La méthode setInterval() te permet d'exécuter une fonction de manière répétée à des intervalles de temps spécifiés. C’est utile pour l'exécution périodique de code.
Syntaxe :
const intervalID = setInterval(callback, delay, ...args);
Où :
callback: fonction qui sera exécutéedelay: intervalle en millisecondes entre les exécutions de la fonctionargs: arguments supplémentaires qui seront passés à la fonctioncallback
Exemple d'utilisation de setInterval :
// Fonction qui sera exécutée toutes les 2 secondes
function greet() {
console.log('Hello, world!');
}
// Définition de l'intervalle
const intervalID = setInterval(greet, 2000);
4.4 Annulation de l'intervalle setInterval
Si tu as besoin d'arrêter l'exécution répétée d'une fonction, tu peux utiliser la méthode clearInterval().
// Fonction qui sera exécutée toutes les 2 secondes
function greet() {
console.log('Hello, world!');
}
// Définition de l'intervalle
const intervalID = setInterval(greet, 2000);
// Annulation de l'intervalle après 10 secondes
setTimeout(() => {
clearInterval(intervalID);
console.log('Interval cleared');
}, 10000);
Exemple avec des arguments supplémentaires :
// Fonction qui sera exécutée toutes les 2 secondes avec des arguments
function greet(name) {
console.log(`Hello, ${name}!`);
}
// Définition de l'intervalle en passant un argument
const intervalID = setInterval(greet, 2000, 'Alice');
4.5 Exemples d'utilisation pratique
Exemple 1 : Mise à jour automatique de l'heure
<!DOCTYPE html>
<html>
<head>
<title>Auto-update Time</title>
</head>
<body>
<h1>Current Time</h1>
<div id="time"></div>
<script>
function updateTime() {
const now = new Date();
const timeString = now.toLocaleTimeString();
document.getElementById('time').textContent = timeString;
}
// Mise à jour de l'heure chaque seconde
updateTime();
setInterval(updateTime, 1000);
</script>
</body>
</html>
Exemple 2 : Requête de données périodique
// Fonction pour simuler une requête de données
function fetchData() {
console.log('Fetching data...');
// Ici, tu peux effectuer une vraie requête vers le serveur
}
// Exécution de la requête de données toutes les 10 secondes
const intervalID = setInterval(fetchData, 10000);
// Arrêt des requêtes après 1 minute
setTimeout(() => {
clearInterval(intervalID);
console.log('Stopped fetching data');
}, 60000);
GO TO FULL VERSION