Dart / rxdart / Bloc:在收听BehaviorSubject的流时接收具有原始类型的事件项

时间:2018-11-11 03:52:24

标签: stream dart flutter rxdart

考虑以下代码(不要介意无用的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 typeNotifPromptModel,然后传递给BehaviorSubjectStreamController该参数使用event在每个新的listen上发送最后一个data吗?这样,当我将包含object信息作为model的{​​{1}}传递到fields时,就可以得到方便的代码建议。

1 个答案:

答案 0 :(得分:0)

应该多花点时间思考。问题是我用BehaviorSubject实例化了object type,但没有用它declare variable