listen<T> method
void
listen<T>(
- SubscriptionHandlerMixin mixin,
- dynamic listen(
- T data
- dynamic onError(
- dynamic e
Implementation
void listen<T>(SubscriptionHandlerMixin mixin, Function(T data) listen, {Function(dynamic e)? onError}) {
Stream<T> stream;
if (T == dynamic) {
stream = _broadcast.stream as Stream<T>;
} else {
stream = _broadcast.stream.where((event) => event is T).cast<T>();
}
// 订阅对应的数据监听
StreamSubscription subs = stream.handleError((e) => onError?.call(e)).listen((data) => listen.call(data));
mixin.addSubscription(subs);
}