Hallo zusammen,
ich möchte gerne aktiv auf eine JaveScript Funktion warten. Jedoch soll der Browser währenddessen nicht blockiert sein. Nach etwas Suche erfährt man dass while keine gute Lösung ist, und man besser setTimeout verwenden soll. Habe ich gemacht:
Nun, mein Konstrukt arbeitet leider nicht wie gewünscht. Nach dem Aufruf von wait() kommt direkt im Anschluss das alert(...). Ich wollte aber dass sich wait immer wieder selbst aufruft, bis result >= 0 ist und erst dann das alert gemacht wird.
Hat jemand einen kleinen Tipp wie ich das um Laufen bringe?
Viele Grüße
Thorsten
ich möchte gerne aktiv auf eine JaveScript Funktion warten. Jedoch soll der Browser währenddessen nicht blockiert sein. Nach etwas Suche erfährt man dass while keine gute Lösung ist, und man besser setTimeout verwenden soll. Habe ich gemacht:
Code:
var result = -100;
function showAnswer()
{
document.getElementById('btn').style.display = 'none';
var ret = wait();
window.alert(result);
}
function wait()
{
if (result >= 0)
return;
else
window.setTimeout(wait, 50);
}
Nun, mein Konstrukt arbeitet leider nicht wie gewünscht. Nach dem Aufruf von wait() kommt direkt im Anschluss das alert(...). Ich wollte aber dass sich wait immer wieder selbst aufruft, bis result >= 0 ist und erst dann das alert gemacht wird.
Hat jemand einen kleinen Tipp wie ich das um Laufen bringe?
Viele Grüße
Thorsten