1
resposta

Future - Diferença then e await/sync

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?

1 resposta

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓