Por que os callbacks são tão importantes no Node.js?

May 17, 2019

ⓘ This article is 1532 days old and may be out of date.

Por que os callbacks são tão importantes no Node.js?

O Node.js é um ambiente de execução de código JavaScript que utiliza um modelo de I/O não bloqueante (assíncrono) e é baseado em uma única thread. Vamos analisar isso mais detalhadamente:

  • Single threaded (única thread): Isso significa que apenas uma linha de código pode ser executada de cada vez.
  • Modelo de I/O não bloqueante: Isso significa que qualquer operação de entrada (por exemplo, uma requisição POST) e de saída (por exemplo, uma requisição GET) é executada de forma assíncrona.

As requisições feitas em uma rede de computadores são muito lentas e exigem vários ciclos de relógio para serem concluídas. Como o Node.js é baseado em uma única thread, ele não pode esperar que essas requisições sejam concluídas, pois isso congelaria a execução do código e tornaria o Node extremamente lento. É aí que entram os callbacks.

Quando o Node encontra uma linha de código que requer uma operação assíncrona, ele diz: "me chame quando você receber os dados, vou continuar executando o restante do programa enquanto isso".

Se você realmente quiser entender como as operações assíncronas são tratadas no Node, eu recomendaria assistir a este vídeo:

Isso vai mudar a forma como você pensa sobre o Node.js :)

Espero que isso tenha sido útil!

Vinicios Clarindo
@vinicioslc