JavaScript slaap/wacht alvorens verder te gaan
Ik heb een JavaScript code waar ik een slaap/wacht functie aan toe moet voegen. De code die ik uitvoer zit al in een functie, bijv:
function myFunction(time)
{
alert('time starts now');
//code to make the program wait before continuing
alert('time is up')
}
Ik heb gehoord dat een mogelijke oplossing zou kunnen zijn
setTimeout
maar ik weet niet zeker hoe ik dat in dit geval moet gebruiken.
Ik kan geen PHP gebruiken, omdat mijn server dat niet ondersteunt, hoewel het gebruik van jQuery prima zou zijn.
291
1
JS heeft geen slaapfunctie, het heeft setTimeout() of setInterval() functies.
Als je de code die je na de pauze moet uitvoeren kunt verplaatsen naar de
setTimeout()
callback, kun je zoiets doen als dit:zie voorbeeld hier : http://jsfiddle.net/9LZQp/
Dit zal de uitvoering van je script niet stoppen, maar zolang
setTimeout()
een asynchrone functie is, zal deze codezal dit in de console worden afgedrukt:
(merk op dat DOG wordt afgedrukt voor DIT IS)
U kunt de volgende code gebruiken om een slaap voor korte perioden te simuleren:
Nu, als je 1 seconde wilt slapen, gebruik dan gewoon:
voorbeeld: http://jsfiddle.net/HrJku/1/
Let op dat deze code zal uw script bezig houden voor n milliseconden. Dit zal niet alleen de uitvoering van Javascript op uw pagina stoppen, maar afhankelijk van de browser implementatie, kan het mogelijk de pagina compleet onresponsive maken, en mogelijk de hele browser onresponsive. Met andere woorden, dit is bijna altijd het verkeerde om te doen.