ⓘ This article is 1994 days old and may be out of date.
May 17, 2019
ⓘ This article is 1994 days old and may be out of date.
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:
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!