美文网首页
Dart异步编程-Future使用

Dart异步编程-Future使用

作者: 幻风0628 | 来源:发表于2020-09-10 15:53 被阅读0次

Future 是在未来某个时间获得想要对象的一种手段.
1、定义一个名为ff的future,返回字符串。

  Future<String> ff = Future(() {
    return 'future test';
  });
  ff.then((value) => print(value));

  网络请求示例
 Future<Map<String,dynamic>> getShopListData() async{
      var data = //耗时的操作
      return data;
 }

2、future其他用法

//1
Future.delayed(Duration(seconds: 2), () {
    print('test future1');
  });
//2
 var future = Future.delayed(Duration(seconds: 2), () {
    return 'test future2';
  });
  future.then((value) => print(value));
//3
  Future<String> testFuture() async {
    var futureResult = await Future.delayed(Duration(seconds: 2), () {
      return 'test future3';
    });
    return futureResult;
  }
  testFuture().then((value) => print(value)).catchError((e) {});

  //4
  Future<String> getUserName(String parameter) {
    return Future.value(parameter);
  }

  getUserName('jacky').then((value) => print('my name is' + value));

  //4
  Future<Map<String, dynamic>> getUserInfo(String parameter) async {
    final map = await {'name': 'jacky'};
    return map;
  }

  getUserInfo('jacky').then((value) => print('userinfo is' + value.toString()));

  //5
  Future<Map<String, dynamic>> getUserInfo2(
      String parameter, Function(String name, String email) userFunc) async {
    final map = await {'name': 'jacky'};
    userFunc('Jacky', '123456@qq.com');
    return map;
  }

  getUserInfo2(
      'Jacky',
      (name, email) => {
            print('user name and email is' + name + '??' + email)
          }).then((value) => print(value));

//6
  Future.wait([
    Future.delayed(Duration(seconds: 2), () {
      return 'hello1';
    }),
    Future.delayed(Duration(seconds: 3), () {
      return 'hello2';
    }),
    Future.delayed(Duration(seconds: 4), () {
      return 'hello3';
    }),
  ]).then((value) => print(value));

相关文章

  • Flutter -- 9.异步编程

    一.使用Future异步编程 Dart中使用Future完成异步操作 1.基本的异步代码示例 任务代码块,执行的异...

  • Dart异步编程-future

    Dart异步编程包含两部分:Future和Stream该篇文章中介绍Future 异步编程:Futures Dar...

  • dart异步

    Dart中的异步 Dart语言的异步编程之Future和async-await是杀手级功能

  • Dart异步编程-Future使用

    Future 是在未来某个时间获得想要对象的一种手段.1、定义一个名为ff的future,返回字符串。 2、fut...

  • 基于FutureBuilder通用网络请求界面封装

    基于FutureBuilder通用网络请求界面封装 Dart异步编程Future 在Dart中,处理异步有两种方式...

  • Flutter 知识篇

    Flutter篇之你真的会使用Future吗 Dart 异步编程和原理 状态管理拓展篇——RxDart(四) Fl...

  • Flutter响应式编程 - Stream

    在Dart库中,有两种实现异步编程的方式(Future和Stream),使用它们只需要在代码中引入dart:asy...

  • Dart中处理异步操作

    Dart中的异步操作使用Future、async、await Future 将耗时操作包裹到Future函数中,一...

  • Dart异步编程Future

    Dart是单线程编程语言,如果执行了阻塞线程代码就会造成程序卡死,异步操作就是为了防止这一现象。Future类似于...

  • [Dart] Future

    异步编程 Dart中通过 Future 和 Stream 实现异步,谈论他们之前,先简单了解一下什么叫异步。 As...

网友评论

      本文标题:Dart异步编程-Future使用

      本文链接:https://www.haomeiwen.com/subject/qnepektx.html