Dart / rxdart / Bloc: получить элемент события с оригинальным типом при прослушивании потока BehaviorSubject
Рассмотрим этот код (не обращайте внимания на бесполезный listen
метод, это просто показать вариант использования):
class Bloc {
final BehaviorSubject notifPrompt =
BehaviorSubject<NotifPromptModel>()..add(NotifPromptModel(answered: false));
void listen() {
notifPrompt.stream.listen(
(data) => print(data.answered)
);
}
void dispose() {
notifPrompt.close();
}
}
class NotifPromptModel {
final bool answered;
NotifPromptModel({this.answered});
}
Теперь я знаю, что это будет работать, но есть ли способ получить generic type
, NotifPromptModel
в этом случае, что я перехожу к BehaviorSubject
(StreamController
который отправляет в последний раз event
на каждом новом listen
) с data
параметр? Это позволило бы мне иметь удобные предложения кода, когда я передаю object
содержащий model
информация как fields
к BehaviorSubject
как в этом случае.
1 ответ
Надо было потратить еще несколько минут на размышления. Проблема заключалась в том, что я BehaviorSubject
object
с type
, но не сделал declare
variable
с этим.