Timeouts und Intervalle
Ziele
- Du weisst, was
setTimeout(...)
ist, wie man die Methode verwendet und wie man einen Timeout frühzeitig abbricht. - Du weisst, was
setInterval(...)
ist, wie man die Methode verwendet und wie man ein Interval frühzeitig abbricht.
Code verzögert ausführen: setTimeout(…)
Manchmal möchte man eine Aktion verzögert ausführen. Das lässt sich einfach mit der Funktion setTimeout(callback, time)
realisieren:
|
|
Das erste Argument innerhalb der Funktion ist die Aktion/Funktion, die ausgeführt wird, sobald die angegebene Zeit abgelaufen ist. Das zweite Argument ist die Zeit (in Millisekunden), die verstreichen muss, bis die übergebene Funktion ausgeführt wird.
Code immer wieder ausführen: setInterval(…)
Folgender Code wird jede Sekunde ausgeführt:
|
|
Vielleicht ist dir aufgefallen, dass setTimeout(...)
und setInterval(...)
jeweils eine Ganzzahl zurückgeben. Das ist die ID des Timeouts bzw. Intervalls. Es macht Sinn, diesen Wert zu behalten, damit das Intervall auch wieder beendet werden kann:
|
|
Es ist auch möglich, ein setTimeout(...)
frühzeitig abzubrechen. Auch hierzu benötigen wir die jeweilige ID der jeweiligen setTimeout(...)
-Instanz. Zum Abbrechen eines Timeouts wird die clearTimeout(...)
-Methode verwendet:
|
|
Insofern der Timeout zum Zeitpunkt, in dem clearTimeout(timeoutId)
aufgerufen wird, nicht bereits ausgelaufen ist, wird er so abgebrochen. Wichtig zu wissen ist hierbei, dass die callback-Function im Falle eines Abbruchs nicht ausgeführt wird.
Hierzu findest du eine Aufgabe im Lab.