JavaScript sleep/wait before continuing
Ich habe einen JavaScript-Code, dem ich eine sleep/wait-Funktion hinzufügen muss. Der Code, den ich ausführe, befindet sich bereits in einer Funktion, z. B:
function myFunction(time)
{
alert('time starts now');
//code to make the program wait before continuing
alert('time is up')
}
Ich habe gehört, dass eine mögliche Lösung darin bestehen könnte
setTimeout
, aber ich bin mir nicht sicher, wie ich sie in diesem Fall verwenden soll.
Ich kann PHP nicht verwenden, da mein Server es nicht unterstützt, obwohl die Verwendung von jQuery in Ordnung wäre.
291
1
JS verfügt nicht über eine Sleep-Funktion, sondern über die Funktionen setTimeout() oder setInterval().
Wenn Sie den Code, den Sie nach der Pause ausführen müssen, in den "setTimeout()"-Callback verschieben können, können Sie etwas wie folgt tun:
siehe Beispiel hier: http://jsfiddle.net/9LZQp/
Dies wird die Ausführung Ihres Skripts nicht anhalten, aber solange
setTimeout()
eine asynchrone Funktion ist, kann dieser Codedies auf der Konsole ausgeben:
(beachten Sie, dass DOG vor THIS IS gedruckt wird)
Sie können den folgenden Code verwenden, um einen Schlaf für kurze Zeit zu simulieren:
Wenn Sie nun für 1 Sekunde schlafen wollen, verwenden Sie einfach:
Beispiel: http://jsfiddle.net/HrJku/1/
Bitte beachten Sie, dass dieser Code Ihr Skript für n Millisekunden beschäftigen wird. Dadurch wird nicht nur die Ausführung von Javascript auf Ihrer Seite gestoppt, sondern, je nach Browser-Implementierung, möglicherweise auch die Seite komplett unempfänglich gemacht und möglicherweise der gesamte Browser unempfänglich gemacht. Mit anderen Worten: Das ist fast immer der falsche Weg.