Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Síncrono e Assíncrono utilizando Future

Já entendi que o dart por padrão é síncrono e quando usamos o Future ele torna o programa assíncrono. Queria saber se quando usamos o await e o async de forma correta o programa volta a ser sícrono? (OBS: Para mim isso não ficou tão claro durante o curso)

1 resposta
solução!

Oi Antonio, tudo bem?

Fico feliz em poder ajudar a esclarecer sua dúvida sobre síncrono e assíncrono utilizando Future. Vamos lá!

De fato, no Dart, por padrão, as operações são síncronas, o que significa que cada linha de código é executada sequencialmente, uma após a outra, bloqueando a execução até que a linha atual seja concluída. No entanto, o Dart também oferece suporte a operações assíncronas por meio do uso de Futures.

Quando você usa um Future, está indicando que determinada operação pode levar algum tempo para ser concluída, como fazer uma requisição de rede ou acessar um arquivo. Ao utilizar o Future, você permite que o programa continue executando outras tarefas enquanto aguarda a conclusão da operação assíncrona. Dessa forma, não há bloqueio da execução.

Agora, sobre o uso de await e async: essas palavras-chave são utilizadas em conjunto com o Future para lidar com operações assíncronas de forma mais conveniente. O async é usado para marcar uma função como assíncrona, indicando que ela pode conter operações que serão tratadas de forma assíncrona. Já o await é usado para pausar a execução de uma função assíncrona até que o Future tenha sido concluído.

No entanto, é importante destacar que o uso de await e async não torna o programa síncrono novamente. O que acontece é que o await permite que você aguarde a conclusão de uma operação assíncrona antes de prosseguir com o restante do código dentro da função assíncrona. Isso evita que você tenha que lidar manualmente com callbacks ou eventos para tratar o resultado do Future.

Um abraço e bons estudos.