[Dart] Future/async/await
Updated:
개요
- Future
- 미래값을 표현하는 클래스
- 반환값을 딱 한번 받아내는 비동기 프로그래밍에 사용
- async
- 비동기 함수를 정의
- Future를 반환해야 함
- await 키워드를 사용한 함수는 무조건 async 함수여야 함
- await
- 비동기 함수를 논리적 순서대로 실행
- 비동기 작업이 완료될 때까지 대기
예제
- 코드
-
Future<String> func(String s) { print('$s start'); Future.delayed(Duration(seconds: 3), () { print('$s end'); }); print(s); return Future.value(s); } void main() async { await func('a'); await func('b'); }
-
- 실행 결과
-
a start a b start b a end b end
-