Flutter.wait()async
@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"; }
依次打印出:ide
flutter: b完成 flutter: a完成 flutter: [a, b] flutter: 所有完成
await
关键字必须在async
函数内部使用- 调用
async
函数必须使用await
关键字