Flutter 中的异步操做

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关键字