Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio Future

Fiz esse desafio e essa é a minha resposta

void main(){  

  Future myConversationFunc() async {
    try{
      print('João: Bom dia, grupo!');
      await Future.delayed(Duration(seconds: 2));
      print('Mariana: Bom dia! Tudo bem?');
      await Future.delayed(Duration(seconds: 2));
      print('João: Suave, e vc?');
      await Future.delayed(Duration(seconds: 2));
      print('Mariana: Tudo certo!');
      await Future.delayed(Duration(seconds: 2));
      print('João: Que bom!');
      await Future.delayed(Duration(seconds: 2));
      print('Mariana: Então, vamos começar a reunião?');
      await Future.delayed(Duration(seconds: 2));
      print('João: Vamos!');
      await Future.delayed(Duration(seconds: 2));
      print('Mariana: Ok, então vamos começar com o relatório de vendas.');
      await Future.delayed(Duration(seconds: 2));
      print('João: Ok, vamos lá!');
      await Future.delayed(Duration(seconds: 2));
    }catch(error){
      print('An Error occurred $error');
    }finally{
      print('The error was not fatal. Please try again.');
    }    
    return 'The conversation is over!';
  }

  myConversationFunc().then((value) => print(value));
  
}
2 respostas
solução!

Olá, Marlon!

Parabéns por compartilhar seu código conosco! É muito bom ver que você está se desafiando e buscando entender o assincronismo em Dart.

Pelo que entendi, você criou uma função assíncrona chamada myConversationFunc que simula uma conversa entre duas pessoas, utilizando o print para exibir as mensagens. E você também utilizou o await Future.delayed para simular uma pausa de 2 segundos entre cada mensagem.

No final, você utiliza o método then para imprimir a mensagem retornada pela função myConversationFunc.

Sua implementação parece estar correta! A única sugestão que eu poderia dar é utilizar o async na função main, já que você está utilizando o await dentro dela.

Fora isso, continue praticando e explorando os conceitos de assincronismo em Dart. Com o tempo, você se sentirá mais confortável com esse tipo de programação.

Bons estudos! Valeu :D

Grande Renan!

Então no caso é sempre importante colocar async tanto na função principal (main) quanto nas funções assíncronas que estiverem dentro dela, certo?