知不道大家用dart語言的時候,有沒有仔細看Future這個對象和await這個關(guān)鍵字躯泰。這兩個在dart里面應該算是個點。
使用await進行修飾的方法麦向,在執(zhí)行到這里的時候會等待,但是不阻塞诵竭。
Future里面的delay方法可以將callback方法(閉包)放在單例定時器中異步執(zhí)行兼搏。
下面測試代碼佛呻,隨便放在flutter的示例項目中就可以運行。大家可以看看運行流程件相,研究一下氧苍。
void async_before() {
print("async_before");
}
void async_after() {
print("async_after");
}
Future<void> async_invoke1() async {
print("async_invoke");
}
Future<void> async_invoke2() async {
Future.delayed(Duration(seconds: 0), () {
print("async_invoke");
});
}
void async_invoke3() async {
Future.delayed(Duration(seconds: 0), () {
print("async_invoke");
});
}
Future<void> async_function() async {
print("async_function_before");
// await async_invoke1();
await async_invoke2();
// async_invoke3();
print("async_function_after");
}
void test_async() {
async_before();
async_function();
async_after();
}