错误状态:流已被收听 useStream 不会关闭流

问题描述

在我的 HookWidget 中,我调用

final myData = useStream<MyData>(service.getDataStream(),initialData: {});

不幸的是,当返回到同一屏幕/导航时,我得到 Bad state: Stream has already been listened to.。这可能是因为之前的流没有关闭,无法再次收听。

为什么不useStream关闭,或者我必须这样做(如何?,它是在构建方法中创建的,因此可以在处置时关闭)? service 包含一个 StreamController:

class Service {
    final _dataController = StreamController<MyData>();
    
    Stream<Data> getDataStream() {
    return _dataController.stream;
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)