Dart中Future中api的一些使用

总结了几个Future使用的小示例,便于我们理解Future API的原理。

Future.when

下面的例子,可以让我们理解when的链式数据传递。

Future fu = Future((){
      return "这个数据给了第一个when";
    });
    fu.then((wome){
      print(wome) ;
      return "我";
    }).then((name){
      print(name);
      return "是David";
    }).then((name){
      print(name) ;
      print("--------over--------") ;
    });

打印结果

这个数据给了第一个when
我
是David
--------over--------

async && await

class Point{
  Future<void> wantToTestPoint() async{
    printPoint();//这里会被执行
    await print("i print after printPoint()") ;//这里会被执行并返回
    await print("i print after printPoint() afeter") ;//这一句最后被执行
  }
  Future<void> printPoint() async{
    await print("point async printPoint");//这里会被执行并返回
  }
}
//调用
Point p = Point.origin() ;
p.wantToTestPoint();
print("I want this should be first printed");
//打印结果
I/flutter ( 9825): point async printPoint
I/flutter ( 9825): i print after printPoint()
I/flutter ( 9825): I want this should be first printed
I/flutter ( 9825): i print after printPoint() afeter

暂无评论

相关推荐

Dart中String使用格式化

在java和OC中,String对象都可以格式化样式,而在Dart 中,我们还需要导入一个三方的库进行这个操作。引用库 dependenc …

Dart中使用单例

class GYDBBaseManager{ static GYDBBaseManager _instance ; static GYDBBaseManager get instance => _getInstanc …

Dart中的隐式接口

先看一下文档的描述:每个类都隐式地定义一个接口,该接口包含类的所有实例成员及其实现的任何接口。如果您想创建一个 …

Dart中的异步操作

每种语言都会有,并且需要有异步操作,同样地,Dart使用过程中,也是需要有异步操作的。我们在Java , Oc中可以使用线 …

微信扫一扫,分享到朋友圈

Dart中Future中api的一些使用