Day-11 Dart 기본 문법

이성대·2023년 12월 13일
0

비동기 프로그래밍

  • 이제까지 Dart 언어를 배우는 데 있어 나름 난해하면서도 알고나면 재미있는 비동기 프로그래밍에 대해 키워드로 정리해본다.

1. Future:

  • Future는 비동기 작업의 결과를 나타내는 객체. 예를 들어, 파일에서 데이터를 읽는 작업을 시작하면 해당 작업이 완료될 때까지 Future가 반환된다. Future는 작업이 성공적으로 완료되면 결과 값을 반환하고, 실패하면 에러를 반환한다.

2. async/await:

  • Dart에서는 asyncawait 키워드를 사용하여 비동기 코드를 더 쉽게 작성할 수 있다. async 함수 내에서 await 키워드를 사용하여 Future가 완료될 때까지 대기할 수 있다.
Future<String> getData() async {
  // 네트워크에서 데이터를 가져오는 작업
  return "데이터";
}

void main() async {
  // getData() 함수를 호출하고 결과를 변수에 저장
  String data = await getData();

  // data 변수에 저장된 데이터 출력
  print(data);
}
  • getData() 함수는 Future를 반환하고, main() 함수에서 getData() 함수를 호출하여 결과를 변수 data 에 저장한다. 그리고 나서 print() 함수가 data 변수에 저장된 데이터를 출력하게 된다.
  • 여기서 getData() 함수가 네트워크에서 데이터를 가져오는 작업을 수행하는데, 이 작업은 시간이 걸릴 수 있으므로 async 키워드로 비동기 함수로 만들고 getData() 함수로부터 Future를 반환해서 main() 함수의 getData() 함수가 완료될 때까지 await 키워드로 코드 실행을 일시 중단하고, getData() 함수가 완료되면 data 변수에 데이터를 저장하여 출력하게 된다.

0개의 댓글

관련 채용 정보