JavaScript · Middle · Frage 25 von 75
Warum ist ein rekursives setTimeout manchmal besser als setInterval?
- 1Es hängt nicht von der Event Loop ab und feuert immer pünktlich
- 2Es läuft in einem eigenen Thread und blockiert die UI nicht
- 3Es garantiert eine Pause zwischen dem Ende eines Laufs und dem Start des nächsten
Antwort zeigen
Richtige Antwort: Es garantiert eine Pause zwischen dem Ende eines Laufs und dem Start des nächsten
Erklärung
setInterval plant Läufe nach festem Takt: Dauert eine Aufgabe (etwa ein Request) länger als das Intervall, überlappen sich die Aufrufe. Ein rekursives setTimeout plant den nächsten Lauf nach dem Ende des aktuellen und erlaubt wechselnde Verzögerungen. Beide Timer sind ungenau und hängen von der Auslastung des Threads ab.