FlutterFlutterDart

Flutter future 与 async await 的区别

2020-04-01  本文已影响0人  Air_w

1、Flutter future 与 async await 的区别/异同

Flutter future 与 async await 的区别/异同
totem_four_logo.jpg
:-

1、目录

  • 1、future
  • 2、async await

2、概要

  • 1、future 特点:“链式调用”
  • 2、async await 特点:“流程可控”

3、用法

async task:

  Future<String> getUserInfo() {
    return Future<String>.delayed(Duration(seconds: 5), () {
      return "delayed task";
    });
  }

1、future


              MaterialButton(
                onPressed: () {
                  print("first");
                  //future
                  getUserInfo().then((value) {
                    print(value);
                  }).catchError((e) {
                    print(e);
                  });

                  print("last");
                },
                child: Text("Click by future"),
              ),

2、async await


              MaterialButton(
                onPressed: () async {
                  print("first");

                  //async await
                  try {
                    print(await getUserInfo());
                  } catch (e) {
                    print(e);
                  } finally {
                    print("finally");
                  }

                  print("last");
                },
                child: Text("Click by async"),
              ),

4、future与async await比较

5、什么时候使用future?什么时候使用async await?


flutter开发者项目示例:

flutter_app_sample 帮助flutter开发者更快入门、精进,避免不必要的技术坑。
如果您觉得此项目对您有所帮助,也可以"star"一下,我们得到您的鼓励后会更有动力持续推出更多有益于您的技术示例

特征:

上一篇 下一篇

猜你喜欢

热点阅读