DEV Community

João Paulo
João Paulo

Posted on

How the event loop enables asynchronous programming

Javascript is a single-threaded programming language (only runs one thread at a time), and runs its code sequentially. With the event loop we can execute tasks in more threads. Understanding this component allows us to create more efficient and performant programs.

How does event loop work?

Before talking about the event loop, it is necessary to talk about the call stack.

The call stack is the structure that allows the ordering and execution of our program. It is also the one that registers function calls.

As said, Javascript runs the code step by step sequentially. First, it allocates memory for variables and then executes the functions at the top of the stack. This flow has a problem: if a function takes a long time to respond, it will block other functions from performing their tasks until it responds.

In real applications, these functions are typically linked to api calls.

To solve this problem we use Javascript Web Apis. With this, we have access to non-blocking functions that run on their own threads and not on the main one and thus do not block others from executing their tasks.

The event loop is what allows JavaScript to perform asynchronous operations. It monitors the call stack and the task queue. The event loop continually checks whether the call stack is empty. If so, it takes the first task from the task queue and moves it to the call stack, where it is executed

Execution Flow

Therefore, thanks to the event loop, we can perform operations efficiently and, most importantly, without blocking the execution of the main code.

Thank you for reaching this point. If you need to contact me, here is my email: joaopauloj405@gmail.com

Top comments (0)