✅ 이번 시간에는 Future-async에 대해서 알아볼 예정이야.
중간에 생략된 것은 for문과 while문이라서 뛰어넘었음.
✅ Dart에서 Thread란?
다트는 싱글 쓰레드로 이루어져 있다.
Event loop가 존재해서 처리해. 안드로이드 치면 Looper와 같은 개념.
✅ Future란?
1. 다트에 의해 future 객체가 내부적인 배열에 등록
2. future관련해서 실행되어야 하는 코드들이 이벤트 큐에 등록
3. 불완전한 future객체가 반환
4. Syncronous 방식으로 실행되어야 할 코드 먼저 실행
5. 최종적으로 실제적인 data값이 future로 전달
✅ Async method
1. 메소드를 통해 나오는 결과물은 future
2. Await 키워드를 만날 때까지 synchronous 방식으로 코드 처리
3. await 키워드를 만나면 future가 완료 될때까지 대기
4. future가 완료 되자마자 그 다음 코드들을 실행
Future를 만나면 백그라운드로 넘기고 아래 코드 실행
await 만나면 그 지점에서 반환 받을때 까지 block돼 - sync 방식이라고 생각
'flutter > 조금 매운맛 (중급)' 카테고리의 다른 글
[flutter 2.0] 13~14강 | 날씨앱 만들기 01 (0) | 2021.08.24 |
---|---|
[flutter2.0] 8강 - 2 | APICall & JsonParsing (0) | 2021.08.17 |
[flutter2.0] 8강 - 1 | Future, async, await 이해하기 (0) | 2021.08.17 |
[flutter2.0] 7강 | 로그인 페이지 코드 리팩토링(refactoring) (0) | 2021.08.17 |
[flutter2.0] 3~5강 | 로그인과 주사위 앱 만들기 (0) | 2021.08.17 |