Dart 비동기 프로그래밍 Futures 요약
https://www.dartlang.org/tutorials/language/futures
import 'dart:async';
Future<void> printAsyncMsg() async {
String result = await execLongTask(); // 반환값 Future<String>가 작업을 끝낼 때까지 기다린다.
print(result); // Future의 작업이 끝나면 result에 String값이 담기고, 그 다음 print()가 호출된다.
}
Future<String> execLongTask() {
// Future를 반환한다.
return Future.delayed(Duration(seconds: 1), () => 'This is async msg.');
}
printSyncMsg() {
print('This is sync msg.'); // 호출받자마자 바로 출력한다.
}
main() {
printAsyncMsg(); // 비동기 함수를 먼저 호출한다.
printSyncMsg(); // 동기 함수를 뒤에 호출한다.
}