Updated:

less than 1 minute read

개요

  • 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