Cómo funciona el event-loop en Node.js 🗓

Luis Doriz
Nowports Tech and Product
3 min readAug 24, 2020
Foto por Levi Jones en Unsplash

Algo que caracteriza a Node.js entre muchos lenguajes de programación es que ejecuta un solo hilo, aprovechando la tecnología del motor V8 que creó Google. A pesar de funcionar de esa manera, tiene buen desempeño gracias a su tecnología.

Pero con todas las funcionalidades del API de node, ¿cómo se ejecuta en un solo hilo? El event loop es una de las razones, ya que su estructura y flujo ayuda a sus procesos.

A continuación se mostrará un ejemplo con el flujo. Antes de ver las imágenes, tenemos que entender cada sección.

  • Call Stack es una pila donde se van acumulando los procesos y salen una vez que se acaben.
  • API es donde vienen las funcionalidades de node.
  • Fila de tareas/eventos (Task/Events Queue), donde se estará formando una secuencia de tareas o eventos a ejecutar una vez que el call stack esté vacío. Esta fila usa un algoritmo para asignar una secuencia llamado FIFO (first in, first out) que, en pocas palabras, es como una fila para ir un cajero, donde el primero que llega es el primero que termina.
  1. Entra la función main.

2. Corre el primer console.log.

3. Entra la función de API: setTimeout y define un temporizador de 3000 ms.

4. Corre el segundo console.log y termina la función main.

5. En la fila de tareas y eventos se coloca la función de printNumber.

6. Se termina el temporizador y se ejecuta printNumber con su primera instrucción.

7. La instrucción de printNumber manda a llamar otra función.

8. Corre la primera instrucción de getSquareRoot que utiliza una instrucción del API.

9. Se termina de ejecutar y regresa el valor al console.log donde se llamó la función.

10. Y después de tantos pasos, termina de ejecutarse el código.

--

--