Dart / rxdart / Bloc: получить элемент события с оригинальным типом при прослушивании потока BehaviorSubject - PullRequest
0 голосов
/ 11 ноября 2018

Рассмотрим этот код (не обращайте внимания на бесполезный метод 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 Ответ

0 голосов
/ 11 ноября 2018

Должен был потратить еще несколько минут на размышления. Проблема заключалась в том, что я инстанцировал BehaviorSubject object с type, но не declare variable с ним.

...