Le but de cette source est de pouvoir faire l'equivalent d'un "sleep" dans une fonction javascript.
Pour cela, on divise le traitement en plusieurs etapes, avec une pause entre chaque etape.
Pour effectuer la pause, on utilise la fonction setTimeout qui va lancer l'etape suivante à la fin de la pause :
Il suffit de lancer l'étape 1 de la fonction : fonctionAEtape(1) et toutes les etapes s'exectueront à la suite, avec une pause entre chaque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 function fonctionAEtape(etape) { switch(etape) { case 1 : // On fait les actions de l'etape 1 // Et on fait une pause setTimeout("fonctionAEtape(2)",1000); break; case 2 : // On fait les actions de l'etape 2 // Et on fait une pause setTimeout("fonctionAEtape(3)",1000); break; case 3 : // On fait les actions de l'etape 3 // Et on fait une pause setTimeout("fonctionAEtape(4)",1000); break; case 4 : // On fait les actions de l'etape 4 // Et on c'est fini break; } }
Il est evidemment possible de regler la durée des pauses (fonction setTimeout) et de passer d'une etape 2 à une etape 4, par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 case 2 : // On fait les actions de l'etape 2 // Si le resulat d'un test est positif : // on passe à l'etape 3 après une pause de 2 secondes // sinon on retourne à l'etape 1 après une pause d'une seconde if (monTest == true) setTimeout("fonctionAEtape(3)",2000); else setTimeout("fonctionAEtape(1)",1000); break;
Partager