[SRC] - Sleep - Faire une pause dans une fonction Javascript
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 :
Code:
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 suffit de lancer l'étape 1 de la fonction : fonctionAEtape(1) et toutes les etapes s'exectueront à la suite, avec une pause entre chaque.
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:
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; |