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

Timeout não funciona e não mostra mensagem de erro para o usuário

Estou tentando definir o timeout para que a aplicação procure os dados por até 5 segundos, e se até esse tempo nada for encontrado ele apresenta uma mensagem para o usuário de que nada foi encontrado, mas por alguma razão quando o Future chega nos 5 segundos de timeout ele mostra uma mensagem de erro no console e trava o aplicativo.

Mensagem de erro: Mensagem de erro

Código do response: Código do response

2 respostas

Estou com o mesmo problema, não achei nada na internet. Se conseguir solucuionar, me avisa. Se eu achar alguma coisa, te aviso.

solução!

Opa, desculpa a demora pra responder, eu tinha conseguido contornar o problema com uma solução provisória só que mais pra frente no curso o erro voltou a acontecer, minha solução final foi utilizar um try catch, assim como no código abaixo:

Future<void> _send(Transaction transactionCreated, String password, BuildContext context) async {
    try {
      final Transaction transaction =
      await _webClient.save(transactionCreated, password);
      _showSuccessfulMessage(transaction, context);
      Navigator.pop(context);
    }on TimeoutException catch(e){
      _showFailureMessage(context, msg: e.message.toString());
    }on HttpException catch(e){
      _showFailureMessage(context, msg: e.message);
    }on Exception catch(e){
      _showFailureMessage(context);
    }
  }

Peguei o código desse fórum aqui