NEWS
An welcher Stelle stoppt stop timeout?
-
Hallo zusammen,
Kurze Frage zu timeouts: Wenn ein Timeout anfängt zu laufen und seine Abarbeitung dauert etwas länger, weil da viele Dinge getan werden müssen, und währenddessen kommt ein stop timeout, wird dann die Ausführung des timeouts an der Stelle beendet wo die Abarbeitung gerade ist (ich denke nicht) oder wird nur der Start des timeouts unterbunden und wenn der schon am Abarbeiten ist macht er bis zum Ende weiter (was ich vermute)?
-
@guitardoc zeigmal ein Beispiel im code
-
@guitardoc
Wenn die Callback-Funktion nach Ablauf der Verzögerung aufgerufen wird, ist der Timer bereits gestoppt. "stop timeout" wirkt nur während der Verzögerungszeit. -
@guitardoc sagte in An welcher Stelle stoppt stop timeout?:
wird dann die Ausführung des timeouts an der Stelle beendet wo die Abarbeitung gerade ist (ich denke nicht) oder wird nur der Start des timeouts unterbunden und wenn der schon am Abarbeiten ist macht er bis zum Ende weiter (was ich vermute)?
so wie du denkst.
der befehl kümmert sich nur um den aufruf einer funktion.
alles was danach kommt ist dafür uninteressant.
wenn du stopst, dann wird nur der nächste Aufruf unterbrochen.Das ist auch die Gefahr bei setTimeout und bei setInterval,
das wenn die Verarbeitung länger dauert, wie die Pause bis zum nächsten Aufruf,
kann es sein, das es sich mit der Zeit aufschaukelt und dann immer mehr abgearbeitet werden muss und dann kaum noch Zeit für die regulären Aufgaben übrig bleibt.