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 ответ

Надо было потратить еще несколько минут на размышления. Проблема заключалась в том, что я BehaviorSubjectobject с type, но не сделал declare variable с этим.

Другие вопросы по тегам