如何使用 FutureBuilder 手动触发 AsyncSnapshot 错误
How to manually trigger AsyncSnapshot error with FutureBuilder
我尝试在调用 future 并获得响应时手动触发 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
消息时触发错误。
Return
return Future.error("Error Info", StackTrace.fromString("StackTrace Error message"));
我尝试在调用 future 并获得响应时手动触发 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
消息时触发错误。
Return
return Future.error("Error Info", StackTrace.fromString("StackTrace Error message"));