Quel est l’équivalent de Java `` en Javascript ?
- Quelle est la version JavaScript de sleep() ? (5 réponses )
Réponses
Trop de publicités?La réponse est simple, il n'y a pas une telle fonction.
La chose la plus proche que vous avez est:
var millisecondsToWait = 500;
setTimeout(function() {
// Whatever you want to do after the wait
}, millisecondsToWait);
Notez que vous surtout ne voulez pas occupé-attendre (par exemple, en un tour de boucle), depuis votre navigateur est presque certainement l'exécution de votre code JavaScript dans un seul thread de l'environnement.
Voici un couple d'autres questions qui traitent de fils en JavaScript:
- http://stackoverflow.com/questions/30036/javascript-and-threads
- http://stackoverflow.com/questions/39879/why-doesnt-javascript-support-multithreading
Et cette question peut également être utile:
Il n'y a pas d'équivalent direct, comme il avait une pause d'une page web. Il y a cependant un setTimeout(), par exemple:
function doSomething() {
thing = thing + 1;
setTimeout(doSomething, 500);
}
Fermeture de l'exemple (merci Daniel):
function doSomething(val) {
thing = thing + 1;
setTimeout(function() { doSomething(val) }, 500);
}
Le second argument est de quelques millisecondes avant la cuisson, vous pouvez les utiliser pour les événements en temps ou en attente avant d'effectuer une opération.
Edit: mis à Jour en fonction des commentaires pour un résultat plus propre.
Vous pouvez écrire une boucle de rotation (une boucle qui se boucle juste pendant une longue période de temps effectuer une sorte de calculs pour la fonction de retard) ou utiliser :
Cela appellera « Func1() » au bout de 3 secondes.
Edit :
Le crédit va aux commentateurs, mais vous pouvez passer les fonctions anonymes à setTimeout.
C’est beaucoup plus efficace et n’appelle pas la fonction eval de javascript.