Flutter 中的异步操作

Flutter.wait()

  @override
  void initState() {
    super.initState();

    _load();
  }

  _load() {
    Future.wait([_getA(), _getB()]).then((list) {
      print(list);
    }).whenComplete(() {
      print("全部完成");
    });
  }

  Future _getA() async {
    await Future.delayed(Duration(seconds: 4));
    print("a完成");
    return "a";
  }

  Future _getB() async {
    await Future.delayed(Duration(seconds: 2));
    print("b完成");
    return "b";
  }

依次打印出:

flutter: b完成
flutter: a完成
flutter: [a, b]
flutter: 全部完成
  • await关键字必须在async函数内部使用
  • 调用async函数必须使用await关键字

你可能感兴趣的:(Flutter 中的异步操作)