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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!