gpt4 book ai didi

flutter - Flutter 无响应重试 Http Get 请求

转载 作者:IT王子 更新时间:2023-10-29 07:01:28 24 4
gpt4 key购买 nike

getData() async {
http.Response response = await http.get('https://www.example.com/);
print(response.body);
}

上述函数可以获取页面的 HTML 代码,但在某些情况下会失败。该功能有时永远不会完成,它会永远等待获得响应(例如,如果应用程序在互联网关闭时打开,即使打开它也永远不会连接)。在这种情况下有没有办法重试?

我尝试了 http 重试包,但它给了我 15 个以上的错误。

最佳答案

如何实现的示例代码:

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

Future<List> loadData() async {
bool loadRemoteDatatSucceed = false;
var data;
try {
http.Response response = await http.post("https://www.example.com",
body: <String, String>{"username": "test"});
data = json.decode(response.body);
if (data.containsKey("success")) {
loadRemoteDatatSucceed = true;
}
} catch (e) {
if (loadRemoteDatatSucceed == false) retryFuture(loadData, 2000);
}
return data;
}

retryFuture(future, delay) {
Future.delayed(Duration(milliseconds: delay), () {
future();
});
}

关于flutter - Flutter 无响应重试 Http Get 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57680141/

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