비동기 작업(Future)이 끝날 때까지 기다렸다가, 결과에 따라 UI를 바꿔주는 Flutter 위젯
FutureBuilder<T>(
future: someFuture,
builder: (context, snapshot) {
// snapshot 안에 결과, 상태, 오류 정보가 들어 있음
},
)
비동기 처리 중 생기는 데이터의 상태와 결과를 담고 있는 객체
FutureBuilder나StreamBuilder에서builder함수의 인자로 전달
| 속성 | 설명 |
|---|---|
snapshot.hasData | true면 데이터가 성공적으로 도착한 상태 즉, snapshot.data를 안전하게 사용할 수 있다 |
snapshot.data | 비동기 작업의 결과로 도착한 실제 데이터 |
snapshot.connectionState | 현재 비동기 작업의 상태 ConnectionState.waiting, done 등을 통해 로딩 중인지 완료됐는지를 알 수 있다 |
snapshot.hasError | true면 비동기 작업 중 에러가 발생한 상태 |
snapshot.error | 발생한 에러에 대한 정보를 담고 있다. 로그 출력이나 사용자에게 에러 메시지를 보여줄 때 사용 |