gpt4 book ai didi

http - 如果http请求失败,如何添加超时?

转载 作者:行者123 更新时间:2023-12-03 04:01:20 25 4
gpt4 key购买 nike

我有一个从Firebase请求json数据的应用程序。我为代码失败实现了一个条件,但是当缺少连接时,请求不会超时。有没有一种方法可以添加超时以使AlertDialog出现?

return http
.post('https://flutter**********.com/products.json',
body: json.encode(productData))
.then((http.Response response) {
if(response.statusCode != 200 && response.statusCode != 201) {
_isLoading = false;
notifyListeners();
return false;
}

当收到不同的statusCode时,返回 false,然后显示一个AlertDialog,允许用户重试。在故意破坏代码的情况下出现,但在缺乏连通性的情况下则不会出现。

谢谢

最佳答案

如果请求超时(例如,因为没有连接),则服务器无响应。试试这个:

try {
http.post('https://flutter**********.com/products.json',
body: json.encode(productData))
.then((http.Response response) {
if(response.statusCode != 200 && response.statusCode != 201) {
_processTimeout();
return false;
};
} on TimeoutException catch (_) {
_processTimeout();
return false;
}

_processTimeout()中添加需要发生的一切。

关于http - 如果http请求失败,如何添加超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56242964/

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