- Dart의
Future는 비동기 작업을 처리하며, 미래의 특정 시점에 작업 결과를 제공하는 객체입니다. ⏳
- 주로
async 함수가 비동기 연산 후 반환하는 객체로 사용됩니다. 🔄
Future 객체는 생성 시 'computation'이라는 비동기 연산 함수를 인자로 받습니다. ⚙️
Future는 Uncompleted (연산 미완료)와 Completed (연산 완료) 두 가지 기본 상태를 가집니다. 🚧
Completed 상태는 연산 성공 시 '값'을 반환하거나, 실패 시 '에러'를 반환하는 두 가지 경우로 세분화됩니다. ✅
Completed 상태를 처리하기 위한 콜백으로 .then() (값 처리), .catchError() (에러 처리), .whenComplete() (모든 완료 상태 처리)가 있습니다. ➡️
Future의 결과 값은 .then() 콜백을 통해 얻거나, await 키워드를 사용하여 연산 완료까지 기다린 후 직접 받을 수 있습니다. 🎁
Future 객체 구조를 이해하는 것은 Dart의 비동기 async 프로세스와 이벤트 루프 동작 방식을 파악하는 데 매우 중요합니다. 🧠
데브허브 | DEVHUB | Dart Future객체 자세히 알아보기