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