코드팩토리의 플러터 프로그래밍 2판 책을 참고하여 공부용으로 작성한 게시글입니다.
📌 Future
비동기 작업을 처리할 때 사용하는 객체
시간이 걸리는 비동기 작업 예: HTTP 요청, 파일 읽기/쓰기, 데이터베이스 쿼리
타입선언형
Future<비동기작업후반환타입>
1. Future(비동기작업할함수)
:Future 생성자를 사용해 비동기 작업 직접 정의
2. Future변수.then(결과처리함수)
: 비동기 작업 종료 후 완료된 결과 처리
Future<String> future = Future(() {return 'Hello'});
future.then((data){print(data);});
3. Future.delayed(Duration객체, 비동기작업함수)
: 일정 시간 지연후 작업을 수행
Future<String> fetchData() {
return Future.delayed(Duration(seconds: 2), () {
return "Data fetched after 2 seconds";
});
}
4. Future변수.catchError((error){});
: Future에서 발생한 에러 처리
Future<String> fetchData() {
return Future.delayed(Duration(seconds: 2), () {
throw Exception("Failed to fetch data");
});
}
void main() {
fetchData().then((data) {
print(data);
}).catchError((error) {
print("Error: $error"); // Error: Exception: Failed to fetch data
});
}
#코드팩토리의플러터프로그래밍2판 #공부용
'◼️Flutter' 카테고리의 다른 글
[Flutter Dart] Stream (0) | 2025.01.25 |
---|---|
[Flutter Dart] async 와 await (0) | 2025.01.25 |
[Flutter Dart] 캐스케이드 연산자 '..' 키워드 (0) | 2025.01.25 |
[Flutter Dart] static (0) | 2025.01.25 |
[Flutter Dart] 제네릭 타입 - 객체지향의 꽃 <T> (0) | 2025.01.25 |