thenを使用 (非同期処理)
void main(){
print("A");
futurePrint(Duration(milliseconds: 2000), "B")
.then((status) => print(status));
print("C");
futurePrint(Duration(milliseconds: 1000), "D")
.then((status) => print(status));
print("E");
}
Future<String> futurePrint(Duration dr, String msg){
return Future.delayed(dr).then((onValue) => msg);
}
//A
//C
//E
//D
//B
async / await を使用 (同期処理)
void main() async {
print("A");
await futurePrint(Duration(milliseconds: 2000), "B")
.then((status) => print(status));
print("C");
await futurePrint(Duration(milliseconds: 1000), "D")
.then((status) => print(status));
print("E");
}
Future<String> futurePrint(Duration dr, String msg){
return Future.delayed(dr).then((onValue) => msg);
}
//A
//B
//C
//D
//E