JavaScript Síncrono e Assíncrono

O JavaScript roda em uma única thread. Isso significa que ele executa uma coisa de cada vez. Você precisa entender como ele lida com tarefas para escrever um código eficiente.

JavaScript Síncrono

O código síncrono é executado linha por linha. Cada tarefa espera que a tarefa anterior termine. Isso é chamado de bloqueio (blocking). Se uma tarefa demorar muito, todo o programa para.

JavaScript Assíncrono

O código assíncrono é executado de forma independente. As tarefas não bloqueiam outros códigos enquanto esperam. Isso é chamado de não bloqueante (non-blocking). A tarefa começa em segundo plano e notifica você quando termina.

Três maneiras de lidar com tarefas assíncronas:

  1. Callbacks: Uma função que é executada após a conclusão de uma tarefa.
  2. Promises: Um objeto que representa a conclusão ou falha de uma operação.
  3. Async/Await: O método mais limpo. Ele faz o código assíncrono parecer código síncrono sem bloquear a thread.

Operações assíncronas comuns:

O Event Loop faz isso funcionar. Ele utiliza a Call Stack, Web APIs e uma Callback Queue para gerenciar múltiplas tarefas ao mesmo tempo.

Resumo:

Source: https://www.geeksforgeeks.org/javascript/synchronous-and-asynchronous-in-javascript/ Source: https://www.w3schools.com/js/js_asynchronous.asp Source: https://medium.com/@mohdtalib.dev/what-is-synchronous-and-asynchronous-in-javascript-07adb7b4cc5f

Full post: https://dev.to/raja_b_0c9d242e2c26cf063b/javascript-synchronous-and-asynchronous-2a69