JS ne dispose pas d'une fonction de veille, il a setTimeout ou setInterval fonctions. Jetez un oeil ici pour savoir comment setTimeout et setInterval travail: http://www.w3schools.com/js/js_timing.asp
De toute façon, vous pouvez implémenter votre propre sommeil fonction, comme ceci
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
maintenant, si vous voulez dormir pendant 1 seconde, il suffit d'utiliser:
sleep(1000);
exemple: http://jsfiddle.net/HrJku/1/
veuillez garder à l'esprit que ce code va garder votre script occupé pendant n millisecondes, en d'autres termes, vous ne serez pas en mesure de faire autre chose (le lancement d'une nouvelle fonction ou d'exécuter un autre morceau de code), tandis que le script est en boucle dans l' sleep()
fonction
si vous pouvez déplacer le code que vous avez besoin de courir après la pause dans l' setTimeout()
rappel, vous pouvez faire quelque chose comme ceci:
//code before the pause
setTimeout(function(){
//do what you need here
}, 2000);
voir exemple ici : http://jsfiddle.net/9LZQp/
Cela ne va pas bloquer l'exécution de votre script, mais tant qu' setTimeout()
est une fonction d'asynchrone, ce code
console.log("HELLO");
setTimeout(function(){
console.log("THIS IS");
}, 2000);
console.log("DOG");
imprime ceci dans la console:
HELLO
DOG
THIS IS
(notez que le CHIEN est imprimé avant C'EST)