Kin*_*ics 10 future dart flutter
在我的flutter应用程序中,我有一个将来可以处理http请求并返回解码后的数据。但是我希望能够发送一个错误,如果status code != 200可以通过.catchError()处理程序得到。
继承人的未来:
Future<List> getEvents(String customerID) async {
var response = await http.get(
Uri.encodeFull(...)
);
if (response.statusCode == 200){
return jsonDecode(response.body);
}else{
// I want to return error here
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用此函数时,我希望能够得到如下错误:
getEvents(customerID)
.then(
...
).catchError(
(error) => print(error)
);
Run Code Online (Sandbox Code Playgroud)
Cop*_*oad 10
使用return,如果你想被抓住误差内catchError()
使用throw,如果你想在里面所捕获的错误try/catch。
return Future.error("This is the error", StackTrace.fromString("This is its trace"));
Run Code Online (Sandbox Code Playgroud)
您可以使用throw:
Future<List> getEvents(String customerID) async {
var response = await http.get(
Uri.encodeFull(...)
);
if (response.statusCode == 200){
return jsonDecode(response.body);
}else{
// I want to return error here
throw("some arbitrary error"); // error thrown
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4268 次 |
| 最近记录: |