1
resposta

Ordem das saídas no console

No exemplo da aula fiquei com dúvida do por quê a saída "the value is:42" veio depois de "Done with main"

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá João! Tudo bem?

A ordem das saídas no console se deve ao comportamento assíncrono do Dart. Quando você usa Future e async/await, o Dart permite que o código continue executando enquanto espera pela conclusão de operações assíncronas, como o Future.delayed.

No seu exemplo, a função myFutureErrorFunc é assíncrona e, quando chamada, ela inicia um processo que leva algum tempo. Enquanto isso, o Dart não fica esperando e continua executando o restante do código, imprimindo "Done with main" imediatamente após chamar myFutureErrorFunc.

Depois que o Future é concluído, ele executa o que está no .then(), imprimindo "the value is: 42". É por isso que essa mensagem aparece depois de "Done with main".

Espero ter ajudado. Conte sempre com o apoio do fórum :)

Um abraço e bons estudos!

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