Dart 语法

2019-07-30  本文已影响0人  小星星吃KFC

回调

void add(int a, int b, Function(int sum) result ) {
  result(a+b);
}
add(1, 22, (sum) {
  print('add>>${sum}');
});

延时

  Future((){
    //  异步任务的函数
    return 10;

  }) .then<int>((onValue){//   任务执行完后的子任务

    print("任务执行完后的子任务1>> ${onValue}");
    return ++onValue;

  }) .then<String>(( onValue){//   任务执行完后的子任务,返回值 是string

    print("任务执行完后的子任务2>> ${onValue}");
    return onValue.toString();

  },onError: (e){

    print("第二次任务onError>> ${e}");

  }).whenComplete(() {//  当所有任务完成后的回调函数

    print("当所有任务完成后的回调函数");
  });

异步

 test1();
  test2(); //方法中是异步的,所以在test3 后面输出
  test3();
image.png
void test1(){
  print("test1");
}

//async await 需要配套,编译没有问题,但运行就奔溃
void test2()async{
  print(await "test2");
}

void test3(){
  print( "test3");

}
上一篇 下一篇

猜你喜欢

热点阅读