通过上一节的 Future 知识我们知道,Future 使用 then 和 catchError 可以很好地处理数据回调和异常回调。这实际上还是一种基于异步回调的方式,如果异步操作依赖关系比较复杂需要编写回调代码比较繁杂,为了简化这些步骤 async 和 await 关键字通过同步代码结构来实现异步操作,从而使得代码更加简洁和具有可读性,此外在异常处理方式也会变得更加简单。
Future<String> Demo1() async {
return Future.delayed(Duration(seconds: 1), () => "demo1");
}
Future<String> Demo2() async {
return Future.error("运行错误");
}
void main(List<String> args) async {
try {
String res = await Demo1();
print(res);
} catch (err) {
print(err);
}
try {
String res = await Demo2();
print(res);
} catch (err) {
print(err);
}
}