Dart中Future中api的一些使用

2019-09-19  本文已影响0人  三米板

总结了几个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
上一篇下一篇

猜你喜欢

热点阅读