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

The method 'timeout' isn't defined for the class 'Uri'

Boa noite.

Tive que fazer algumas alterações no código devido a atualização http_interceptor:

final Response response = await client.get(Uri.http("XXX.XXX.XX.XX:8080", "transactions").timeout(Duration(seconds: 5)));

Ao executar o app, apresenta o seguinte erro no console:

lib/http/webclient.dart:34:71: Error: The method 'timeout' isn't defined for the class 'Uri'.
 - 'Uri' is from 'dart:core'.
Try correcting the name to the name of an existing method, or defining a method named 'timeout'.
      await client.get(Uri.http("XXX.XXX.XX.XX:8080", "transactions").timeout(Duration(seconds: 5)));

Tentei procurar alguma forma de contornar isso mas não consegui.

3 respostas
solução!

Boa tarde Natalie, td bem ?

Essa abordagem funcionou para mim.

segue o Code:

import 'package:http/http.dart' as http; //CRIO UM ALIAS HTTP as https
import 'package:http_interceptor/http_interceptor.dart';


http.Client client =  InterceptedClient.build(interceptors: [LoggingInterceptor()]);

final http.Response response = await client
      .get(Uri.parse('http://IP-DESCONHECIDO-PARA-DAR-ERROR:8080/transactions'))
      .timeout(const Duration(seconds: 5));

Bom dia Natalie, tudo bom?

Segue o exemplo do Ari, se continuar dando problema vou precisar que nos mostre todo seu código.

Qualquer dúvida, estamos a disposição.

Boa noite! Deu certo com essa solução. Muito obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software