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

[Projeto] Chat no Futuro

main() {
  Future iniciarConversa = Future(() => 'Iniciando a conversa...').then((value) async {
    print(value);
    await simularConversa().then((value) => print('Conversa encerrada!'));
  });
}

Future simularConversa() async{
  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 você?');
  await Future.delayed(Duration(seconds: 1));

  print('Mariana: Certim!');
  await Future.delayed(Duration(seconds: 1));
}
2 respostas

Com o tratamento caso ocorra erro.

main() {
  Future iniciarConversa = Future(() => 'Iniciando a conversa...').then((value) async {
    print(value);
    await simularConversa().then((value) => print('Conversa encerrada!'));
  });
}

Future simularConversa() 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 você?');
    await Future.delayed(Duration(seconds: 1));

    print('Mariana: Certim!');
    await Future.delayed(Duration(seconds: 1));
  }catch(e){
    print('Ocorreu algum erro!!!');
  }finally{
    print('Tchau!');
  }
}
solução!

Simulação de um erro antes da resposta da Mariana

main() {
  Future iniciarConversa = Future(() => 'Iniciando a conversa...').then((value) async {
    print(value);
    await simularConversa().then((value) => print('Conversa encerrada!'));
  });
}

Future simularConversa() 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 você?');
    await Future.delayed(Duration(seconds: 1));

    throw Exception();
    print('Mariana: Certim!');
    await Future.delayed(Duration(seconds: 1));
  }catch(e){
    print('Ocorreu algum erro!!!');
  }finally{
    print('Tchau!');
  }
}