回调
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");
}
网友评论