sleep / wait / pause en Javascript

Avril 2013

Beaucoup de langages de programmation permettent de mettre en pause l'exécution pendant un certain temps, comme le permet par exemple la fonction sleep() en PHP (dans d'autres langages on trouve aussi wait ou delay).

En Javascript ça n'est pas possible, il n'existe aucune fonction synchrone qui permette d'interrompre l'exécution du Javascript.

La seule solution est d'utiliser une méthode asynchrone comme setTimeout ou setInterval, mais il faut bien comprendre qu'avec cette technique l'exécution du JS continue, en appelant ces fonctions on créé simplement un timer qui va exécuter une fonction callback lorsqu'il se déclenchera.

Il existe aussi une technique assez sale qui consiste à faire exécuter une boucle à vide pendant le temps qu'on souhaite faire durer la pause :

Si vous voulez en savoir plus c'est par ici : masquer la grille (quadrillage) dans excel.

function sleep(seconds){
	var waitUntil = new Date().getTime() + seconds*1000;
	while(new Date().getTime() < waitUntil) true;
}

C'est du bricolage, le processeur se met à tourner à 100% pendant la durée de la pause, alors que normalement on devrait utiliser une interruption processeur pour implémenter le sleep.

Allez donc jeter un oeil sur cette page : fausse 3d sur du texte.

0 commentaire
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré