Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart Http包请求超时_Http_Flutter_Dart - Fatal编程技术网

Dart Http包请求超时

Dart Http包请求超时,http,flutter,dart,Http,Flutter,Dart,在我的flatter应用程序中使用http包时,我遇到了一个小问题。我在本地主机上进行测试,当我使用http.post在数据库中发布某些内容时,在服务器未运行的默认时间(即我认为是60秒)内,它不会返回响应。当我在超时时间内启动apache和mysql服务时,它会将数据发布到服务器中。有没有办法减少dart http包中http请求的超时?或者有其他解决方案吗?您有两种选择 减少HttpClient上的超时时间 这将适用于同一客户机发出的所有请求。如果请求超过此超时,将抛出SocketExce

在我的flatter应用程序中使用
http
包时,我遇到了一个小问题。我在本地主机上进行测试,当我使用http.post在数据库中发布某些内容时,在服务器未运行的默认时间(即我认为是60秒)内,它不会返回响应。当我在超时时间内启动apache和mysql服务时,它会将数据发布到服务器中。有没有办法减少dart http包中http请求的超时?或者有其他解决方案吗?

您有两种选择

减少HttpClient上的超时时间

这将适用于同一客户机发出的所有请求。如果请求超过此超时,将抛出
SocketException

设置每个请求的超时时间
您可以使用
Future.timeout
方法设置任何未来的超时

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

我在http.post中测试超时,它对我有效

final response = await http.post(Url).timeout(Duration(seconds: 5));
我希望它对你有用

final response = await http.post(Url).timeout(Duration(seconds: 5));