web-dev-qa-db-fra.com

DÉTRISION DE DÉMISSION DART HTTP

Tout en utilisant http package dans mon application Flutter, j'ai rencontré un léger problème. Je teste sur localhost et lorsque je posterai quelque chose dans la base de données à l'aide de http.post, il ne renvoie pas la réponse pour l'heure par défaut (c'est-à-dire 60 ans, je pense) lorsque le serveur ne fonctionne pas. Et lorsque je démarre les services Apache et MySQL dans le délai d'attente, il publie les données sur le serveur. Y a-t-il un moyen de réduire le délai d'attente des demandes HTTP dans le package HTTP DART? Ou existe-t-il une solution alternative?

9
Zero Live

Vous avez deux options disponibles.

Réduisez le délai d'attente sur le httpclient

final client = new HttpClient();
client.connectionTimeout = const Duration(seconds: 10);

Cela s'appliquera à toutes les demandes effectuées par le même client. Si la demande dépasse ce délai d'attente, un SocketException est lancé.

Définir un délai de requête
[.____] Vous pouvez définir un délai d'attente sur n'importe quel avenir en utilisant le Future.timeout méthode.

try {
  ..
  final request = await client.get(...);
  final response = await request.close().timeout(const Duration(seconds: 10));
  // more code
} on TimeoutException catch (e) {
  // handle timeout
}
1
Skoff