- 다트의
Stream은 Future와 달리 여러 번 발생하는 비동기 이벤트를 처리하는 데 사용됩니다. 🌊
Future는 한 번의 비동기 작업 후 결과를 반환하는 1회성 처리 방식입니다. ✉️
Stream은 async* 키워드를 사용하여 정의하며, yield를 통해 데이터를 연속적으로 내보냅니다. ✨
Stream의 데이터를 소비하는 방법은 await for 반복문과 listen() 메서드가 있습니다. 👂
listen() 메서드는 StreamSubscription 객체를 반환하며, 이를 통해 스트림 구독을 제어(취소, 일시정지, 재개)할 수 있습니다. 🛑
- 기본적으로
Stream은 한 번만 구독할 수 있지만, asBroadcastStream()을 사용하여 여러 번 구독 가능하도록 변경할 수 있습니다. 📡
Stream은 map(), distinct()와 같은 연산자를 사용하여 데이터 흐름을 변환하거나 필터링할 수 있습니다. 🛠️
Stream은 채팅 앱, 실시간 데이터 업데이트, 소켓 통신 등 지속적인 이벤트 흐름 관리에 유용하며, Flutter 앱 아키텍처(BLoC, Riverpod 등)에서 핵심적으로 활용됩니다. 🏗️
데브허브 | DEVHUB | 다트 기초 문법 - 20일차 / Stream