setTimeout()
Thorsten F.
- javascript
0 Rouven0 Andreas Dölling0 Struppi
0 wahsaga
Hallo Leute,
ist es möglich mit der setTimeout-Methode eine Art "pseudo-Funktion" aufzurufen?
Ich bräuchte das nämlich. Wenn etwas bestimmtes passiert, dann warte einfach 1,5 sek und dann gehts weiter. Aber die settimeout() möchte doch 2 Parameter haben?
Wie mach ich das denn?
Gruß,
Thorsten F.
Hi,
was verstehst du unter "gehts weiter". Sonst pack doch einfach "gehts weiter" in eine Funktion namens weiter und dann füttere setTimeout entsprechend:
setTimeout("weiter", 1500);
MfG
Rouven
Hallo,
hört sich so an, als bräuchtest Du kein Timeout, sondern so eine Art sleep-Funktion. Das heißt, Du möchtest die Ausführung Deines Skriptes anhalten und nach einer gewissen Zeit fortsetzen, richtig?
Ich hatte dieses Problem auch schon einmal. Die timeout-Funktion hat mich damals nicht weitergebracht.
Google schließlich ließ mich folgende Lösung finden:
// a javascript "sleep" function
// gap specifies the sleep time in miliseconds
function delay(gap){
var then,now;
then=new Date().getTime();
now=then;
while((now-then)<gap) {
now=new Date().getTime();
}
}
Ciao,
Andreas
Google schließlich ließ mich folgende Lösung finden:
// a javascript "sleep" function
// gap specifies the sleep time in miliseconds
function delay(gap){
var then,now;
then=new Date().getTime();
now=then;
while((now-then)<gap) {
now=new Date().getTime();
}
}
Die 100% CPU Last erzeugt und sich vereinfachen läßt:
function pause(zeit){
//Zeit hier in ms angeben
var starttime=(new Date).getTime();
while (starttime+zeit>(new Date).getTime()){};
}
Struppi.
Die 100% CPU Last erzeugt und sich vereinfachen läßt:
Habe es nicht ausprobiert, sondern damals meinen gesamten Ansatz verändert (= verbessert).
Gibt es denn nach Deiner Kenntnis eine sleep-Umsetzung für Javascript, die man guten Gewissens einsetzen kann?
Ciao,
Andreas
Die 100% CPU Last erzeugt und sich vereinfachen läßt:
Habe es nicht ausprobiert, sondern damals meinen gesamten Ansatz verändert (= verbessert).
Ehrlich gesagt das mit der 100% CPU Last hab ich auch noch nie kontrolliert. Meistens sind so Pausen ja uach nicht wirklich nötig und lassen sich mit dem passenden Event umgehen.
Gibt es denn nach Deiner Kenntnis eine sleep-Umsetzung für Javascript, die man guten Gewissens einsetzen kann?
Nö. Ich kann aber aber auch keine Situation vorstellen wo es wirklich nötig wäre eine zu benutzen.
Struppi.
hi,
Wenn etwas bestimmtes passiert, dann warte einfach 1,5 sek und dann gehts weiter. Aber die settimeout() möchte doch 2 Parameter haben?
setTimeout hilft dir dabei gar nicht weiter - weil das nicht "wartet", sondern einfach nur sagt in x Millisekunden führe irgendwas aus. Direkt nach dem Erstellen dieses Eintrags im "Terminkalender" des Scriptes geht's aber sofort weiter. Wenn du dir in deinem Terminkalender notierst, "in fünf Tagen Auto waschen" - dann bedeutet das ja vermutlich auch nicht, dass du in den nächsten fünf Tagen gar nichts mehr tust, und einfach nur wartest, bis du dein Auto endlich waschen kannst.
gruß,
wahsaga