
Christian Woerz
The Eventloop in JavaScript - How does it work?

#1about 4 minutes
Differentiating between a JavaScript engine and a runtime
A JavaScript engine implements the ECMAScript standard, while a runtime adds extra functionality like Web APIs and the event loop.
#2about 2 minutes
Understanding why JavaScript needs an event loop
JavaScript's single-threaded nature can block the UI, so the event loop is necessary to handle asynchronous operations without freezing the application.
#3about 7 minutes
Exploring the core components of a JavaScript runtime
A runtime consists of a call stack for synchronous code, Web APIs for browser or Node features, and separate queues for microtasks and macrotasks.
#4about 2 minutes
How the event loop prioritizes and executes tasks
The event loop continuously checks if the call stack is empty, then processes all available microtasks before handling a single macrotask.
#5about 4 minutes
Demonstrating setTimeout and the macro task queue
Code example shows how `setTimeout` with a zero delay is placed in the macrotask queue and executed only after the synchronous call stack is clear.
#6about 2 minutes
Prioritizing promises with the micro task queue
A resolved promise is handled as a microtask, which is always executed before macrotasks like `setTimeout` when the call stack is empty.
#7about 3 minutes
How network latency affects promise execution order
Using `fetch`, this example shows that a promise is only added to the microtask queue upon resolution, so a slow network request can execute after a faster macrotask.
#8about 3 minutes
Starving the macro task queue with micro tasks
A recursive `queueMicrotask` call demonstrates how continuously adding microtasks can prevent the event loop from ever processing the macrotask queue.
#9about 2 minutes
Final recap of the event loop's execution order
The event loop prioritizes the call stack first, then the entire microtask queue, and finally a single task from the macrotask queue.
Related jobs
Jobs that call for the skills explored in this talk.
Featured Partners
Related Videos
 14:44
14:44Catching up on the basics you don't really need that much code
Chris Heilmann
 46:08
46:08JavaScript the Grumpy Parts
Rob Richardson
 32:54
32:54Beats in the Browser: Coding Music with JavaScript
Rowdy Rabouw
 53:45
53:45Leveraging Server-Sent Events (SSE) for Efficient Data Streaming in UI Development
Rainer Stropek
 27:27
27:27Things I learned while writing high-performance JavaScript applications
Michele Riva
 28:13
28:1310 must-know design patterns for JS Devs
Erick Wendel
 40:24
40:24Snappy UI needs no Single-Page Application
Clemens Helm
 46:46
46:46The Lean Web
Chris Ferdinandi
From learning to earning
Jobs that call for the skills explored in this talk.
JavaScript / Node.js Developer (all genders, remote)
codeblick GmbH
Augsburg, Germany
Remote
PHP
CSS
HTML
React
+6





