Boa tarde,
gostaria de saber a real diferença entre usar o .then (usamos no curso) e o await/sync (em muito tutorial na internet) na prática com Future...
Eles são iguais? quais vantagens e desvantagens de cada um?
Boa tarde,
gostaria de saber a real diferença entre usar o .then (usamos no curso) e o await/sync (em muito tutorial na internet) na prática com Future...
Eles são iguais? quais vantagens e desvantagens de cada um?
Olá, João! Tudo bem?
Primeiramente gostaria de pedir desculpas pela demora.
O then
e o async/await
são diferentes. O then
pode ser executado enquanto seu programa realiza outras tarefas, e te retorna o resultado quando estiver "pronto" (em caso de sucesso). Já o async/await
vai literalmente fazer seu programa parar e esperar até que se tenha um resultado.
Dessa maneira, muitas vezes você pode ver o async/await
ser preferível em relação ao then
, tendo em conta que é mais consistente, linear.
Existem ainda outros pontos que ressaltam o uso do async/await
como boa prática, como tornar mais simples a alternância entre síncrono e assíncrono, e também uma melhor legibilidade de código.
Caso se sinta confortável em ler artigos em inglês, deixo aqui dois artigos que li para lhe dar essa resposta:
E também o tópico do fórum onde um dos nossos instrutores dá exemplos de then
, async
e await
, além de explicar que na Alura usamos o then
por facilitar a didática, muitas vezes:
Espero ter te ajudado de alguma maneira, bons estudos!