Aus dem Kurs: Node.js lernen

So erhalten Sie Zugriff auf diesen Kurs

Werden Sie noch heute Mitglied und erhalten Sie Zugriff auf mehr als 23.200 Kurse von Branchenfachleuten.

Event Loop

Event Loop

Neben dem Call Stack arbeitet im Hintergrund noch die sogenannte Event Loop. Ihre Arbeitsweise sorgt bei asynchronen Programmen teilweise für ein etwas merkwürdiges Verhalten. Um das zu erklären, werfe ich hier in meinem Beispiel einen kleinen Timer an. setTimeout stellt im Hintergrund einen Wecker. Diese anonyme Funktion wird folglich erst nach drei Sekunden ausgeführt. Im Ergebnis erscheint "Hallo" also erst nach drei Sekunden auf dem Bildschirm. Die Abläufe in Node.js sehen dabei so aus. Neben dem Call Stack existiert noch eine Event Loop. Sie reagiert auf eintretende Ereignisse, wie etwa meinen abgelaufenen Timer. In meinem Beispiel läuft zunächst alles wie gehabt ab. sayHello landet auf dem Call Stack, dann setTimeout. Diese Funktion wird jetzt ausgeführt. setTimeout erzeugt dabei einen Wecker. Damit ist die Funktion abgearbeitet und fliegt vom Call Stack. Der Timer läuft jetzt im Hintergrund drei Sekunden und erzeugt dann ein entsprechendes Ereignis, auf das die Event Loop…

Inhalt