【发布时间】:2020-09-11 23:22:40
【问题描述】:
我正在尝试在调用未来并获得响应时手动触发snapshot.hasError。
比如我有未来
Future<dynamic> getJson() {
Dio dio = Dio();
var response = dio.get("https://www.jsononline.com/posts?id=9999");
if (response.statusCode == 200) {
return response;
} else {
// return AsyncSnapshot error
}
}
我尝试过return AsyncSnapshot.withError(ConnectionState.done, "An error occurred");,但在 FutureBuilder 中snapshot.hasError 仍然为空,而是转到snapshot.data。
例如,如果我收到 404 消息,我希望能够触发错误。
【问题讨论】:
-
然后使用
Future<T>.error()构造函数(或简单地使用throw yourError) -
@pskink
Future<T>.error()工作。谢谢
标签: flutter dart future snapshot