Dart Future、async、await异步

2020-08-13  本文已影响0人  喜剧收尾_XWX

原文参考:
作者:天色将变
链接:https://www.jianshu.com/p/304f05a442db
来源:简书


1.概述

2.Future基本使用

 // 假设method1是网络请求
    Future<String> f1 = new Future(method1);//此时f1就是未来的结果
    // 未来的结果获取,使用then
    f1.then((String value) {
      print("value1=$value");
    });

3.async 与await 将异步方法按同步方法操作

async 描述一个执行异步操作的方法
await 表示一直等待异步方法返回结果,才继续往后执行
如:

  Future<String> method5() async {
    return "5";
  }
  void testD() async {
    method1();
    String f5 = await method5();
    print(f5);
    method3();
  }

结果:

1
5
3

4. Future的一些作用

Future<void> hideScreen() async {
    Future.delayed(Duration(seconds: 10), () {
      FlutterSplashScreen.hide();
    });
  }
Future<bool> exitApp() {
    if (_lastPressedAt == null ||
        DateTime.now().difference(_lastPressedAt) > Duration(seconds: 2)) {
      Fluttertoast.showToast(
          msg: "再按一次退出应用",
          backgroundColor: Colors.grey,
          toastLength: Toast.LENGTH_SHORT,
          fontSize: 14);
      //两次点击间隔超过2秒则重新计时
      _lastPressedAt = DateTime.now();
      return Future.value(false);
    }
    return Future.value(true);
}
上一篇 下一篇

猜你喜欢

热点阅读