架构Bloc和StreamControllers以处理事件

时间:2018-11-21 14:34:55

标签: flutter

我正在使用BLoC构建Flutter应用程序。我有一个视图,在该视图中我将多个事件发送到bloc,还将数据流传输到该视图。

目前,我要添加的接收器有所不同,具体取决于用户的操作,例如单击一个单选按钮,单击一个按钮以增加计数器,所有这些操作都在同一视图中。我正在搜索如何在一个公共接收器中处理这些事件,因为每个部分都有一个接收器似乎很麻烦。当我更改状态时,会使用不同的流,但这是我正在寻找解决方案的事件处理部分。

是否有任何使水槽处理更清洁的指南,或者这是这样做的方法吗?

我想简化的当前代码示例

// distance
  StreamController<bool> _cmdDistanceController = StreamController<bool>();
  StreamSink get distanceCommands => _cmdDistanceController.sink;

  StreamController<String> _syncDistanceController =
      StreamController<String>.broadcast();
  Stream<String> get syncDistances => _syncDistanceController.stream;

  // speed
  StreamController<bool> _cmdSpeedController = StreamController<bool>();
  StreamSink get speedCommands => _cmdSpeedController.sink;

  StreamController<String> _syncSpeedController =
      StreamController<String>.broadcast();
  Stream<String> get syncSpeed => _syncSpeedController.stream;

0 个答案:

没有答案