Flutter 中的异步操作

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关键字
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容