Executando verificação de segurança...
1

Afinal, como JavaScript consegue executar códigos assincronos sendo Single-Thread?

Está era uma duvida que eu tambem tinha, então dei uma pesquisada e vou adiantar o conteudo para vocês, caso tenham a mesma duvida que eu!

Como todos devem saber, ou a maioria, JavaScript é uma linguagem single-thread, o que isso quer dizer que ela só consegue executar uma tarefa por vez. Enquanto outras linguagens de programação multi-thread conseguem executar mais de uma tarefa, sendo que cada thread fica responsavel por executar uma tarefa por vez.

Mas Js possui algo chamado de event loop e event queue, que são os reponsaveis em fazer que ela consiga executar códigos assincronos com eficiencia. O Js possui uma pilha de execução, que é a pilha de armazenamento dos processos que estão sendo executados no momento, já o event queue é como se fosse uma pilha de execução tambem, mas é armazenado apenas os eventos que precisam ser rodados em "background" pela linguagem. Ou seja, o event loop aramzena todas as tarefas que precisam ser executadas em segundo plano, e quando a pilha de execução for finalizada o js irá ver se possui algo no event queue, caso tenha ele irá realocar um evento por vez para a pilha de execução, para os mesmos serem processados.

Sendo assim, os trechos de códigos que possuem algum tipo de assincronismo serão sempre executados por ultimo. Fazendo com que assim seja possivel se trabalhar com eventos assincronos em uma linguagem single thread.

Escrevi um post maior e melhor explicativo em meu blog, caso alguem tenha mais duvidas ou interesse é so acessar: https://kaiogerhardt.dev.br/blog/como-javascript-executa-eventos-assincronos.html

Peço desculpas pelos erros antecipadamente, sou um escritor iniciante! ;)

Carregando publicação patrocinada...
1