Flutter.wait()
@override
void initState() {
super.initState();
_load();
}
_load() {
Future.wait([_getA(), _getB()]).then((list) {
print(list);
}).whenComplete(() {
print("全部完成");
});
}
Future<String> _getA() async {
await Future.delayed(Duration(seconds: 4));
print("a完成");
return "a";
}
Future<String> _getB() async {
await Future.delayed(Duration(seconds: 2));
print("b完成");
return "b";
}
依次打印出:
flutter: b完成
flutter: a完成
flutter: [a, b]
flutter: 全部完成
await
关键字必须在async
函数内部使用- 调用
async
函数必须使用await
关键字