gpt4 book ai didi

android - 如何使用 HTTP 请求(Flutter/Dart)检查 Internet 连接?

转载 作者:行者123 更新时间:2023-12-03 02:48:55 25 4
gpt4 key购买 nike

这可能是一个菜鸟问题,但是如果用户没有互联网连接或者获取数据需要很长时间,我如何让我的响应引发异常?

Future<TransactionModel> getDetailedTransaction(String crypto) async {
//TODO Make it return an error if there is no internet or takes too long!

http.Response response = await http.get(crypto);

return parsedJson(response);

}

最佳答案

你应该用 try catch block 包围它,像这样:

import 'package:http/http.dart' as http;

int timeout = 5;
try {
http.Response response = await http.get('someUrl').
timeout(Duration(seconds: timeout));
if (response.statusCode == 200) {
// do something
} else {
// handle it
}
} on TimeoutException catch (e) {
print('Timeout Error: $e');
} on SocketException catch (e) {
print('Socket Error: $e');
} on Error catch (e) {
print('General Error: $e');
}

如果手机知道没有连接(如 WiFi 和数据连接都已关闭),则会立即引发套接字异常。

在给定的超时后将引发超时异常,例如服务器响应时间过长或用户连接非常差等。

如果响应代码不是 = 200,也不要忘记处理这种情况。

关于android - 如何使用 HTTP 请求(Flutter/Dart)检查 Internet 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61036643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com