일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- AnimationController
- widget
- generate parentheses dart
- flutter widget
- tft api dart
- PlatformException(sign_in_failed
- 파이썬 부동소수점
- flutter android 폴더
- dart
- valorant api dart
- 롤토체스 api dart
- com.google.GIDSignIn
- swift concurrency
- leetcode dart
- 파이썬
- riot api dart
- swift 동시성
- dart new 키워드
- flutter ios 폴더
- lol api dart
- 발로란트 api dart
- flutter bloc
- 롤 api dart
- docker overview
- dart.dev
- dart new
- Architectural overview
- keychain error
- flutter statefulwidget
- flutter
- Today
- Total
aspe
Dart - StreamController 본문
컨트롤하는 Stream을 가지고 있는 Controller 입니다.
이 Controller는 stream에서 데이터, 오류 그리고 완료 이벤트를 전송할 수 있게 해줍니다.
이 클래스는 다른 객체들이 listen 할 수 있는 간단한 스트림을 생성하고 해당 스트림에 이벤트를 푸쉬할 수 있습니다.
이 Controller는 스트림이 일시 중지되었는지, 구독자가 있는지를 확인하고 둘 중 하나가 변경될 때 콜백을 받을 수 있습니다.
예를 들면:
final streamController = StreamController(
onPause: () => print('Paused'),
onResume: () => print('Resumed'),
onCancel: () => print('Cancelled'),
onListen: () => print('Listens'),
);
streamController.stream.listen(
(event) => print('Event: $event'),
onDone: () => print('Done'),
onError: (error) => print(error),
);
스트림에 subscriber가 있는지 확인하고 싶다면, hasListener을 사용하세요.
var hasListener = streamController.hasListener; // true
스트림에 데이터 이벤트를 전달하고 싶다면, add or addStream을 사용하세요.
streamController.add(999);
final stream = Stream<int>.periodic(
const Duration(milliseconds: 200), (count) => count * count).take(4);
await streamController.addStream(stream);
스트림에 에러 이벤트를 전달하고 싶다면, addError or addStream을 사용하세요.
streamController.addError(Exception('Issue 101'));
await streamController.addStream(Stream.error(Exception('Issue 404')));
스트림이 닫혔는지 확인하고 싶다면, isClosed을 사용하세요.
var isClosed = streamController.isClosed; // false
스트림을 닫고 싶다면, close을 사용하세요.
await streamController.close();
isClosed = streamController.isClosed; // true
Implemented types
- StreamSink<T>
Implementers
생성자
void onListen()?,
void onPause()?,
void onResume()?,
FutureOr<void> onCancel()?,
bool sync = false
})
A controller with a stream that supports only one single subscriber.
void onListen()?,
void onCancel()?,
bool sync = false
})
A controller where stream can be listened to more than once.
'Dart > API' 카테고리의 다른 글
Dart - Concurrency in Dart (0) | 2023.02.17 |
---|---|
Dart/API - new Keyword를 사용하는 이유 (0) | 2022.11.26 |