Olá!
O instrutor ao longo do curso adiciona várias funções assíncronas na API. Existe alguma boa prática a ser seguida para quando devemos implementar as funções como assíncronas em APIs e quando não devemos?
Obrigado!
Olá!
O instrutor ao longo do curso adiciona várias funções assíncronas na API. Existe alguma boa prática a ser seguida para quando devemos implementar as funções como assíncronas em APIs e quando não devemos?
Obrigado!
Oi, João, tudo bem?
As funções assíncronas são muito bem vindas requisição de dados a uma API, pois as funções síncronas tem uma questão importante a ser avaliada do porquê usá-la:
Quando essa requisição é enviada, a resposta é bloqueada até todo o processo de requisição seja feito, e assim, finalizada, para que outras requisições sejam feitas, ou seja, para que uma nova requisição seja feita, a anterior precisa ser finalizada, tornando assim, nossas comunicação entre cliente-servidor síncrona.
Já na requisição assíncronas, podemos enviar mais de uma requisição simultaneamente e cada requisição será retornada quando estiver finalizada, ou seja, quando cada requisição for finalizada, receberemos as respectivas respostas, não precisando esperar que a primeira seja finalizada, para que seja feita a requisição seguinte, e assim, por diante.
Então, as requisições assíncronas são essenciais em consumos de API's por trabalhar muito bem com a comunicação cliente-servidor tornando esse processo menos oneroso e mais escalável seja para o servidor (pois o consumo de dados pode crescer ao longo do projeto), seja para o cliente, protagonistas nessas conversa.
Mas há casos em que requisições assíncronas pode ser não tão indicadas, um cenário clássico, é quando temos um banco de dados gigante e, que, fazer requisições simultaneamente pois o servidor irá atender a uma demanda grande de requests e assim sobrecarregando o servidor.
Nesse artigo aqui do nosso Blog da Alura: https://www.alura.com.br/artigos/async-await-no-javascript-o-que-e-e-quando-usar trata desse tema com bastante detalhe e reforça os conceitos dados em aula e aqui.
Qualquer dúvida, é só falar!