BlocStream订阅未监听到更改(Bloc到Bloc通信)
创始人
2024-12-22 22:00:42
0

这种情况通常是因为Bloc之间的通信出现问题,一个常见的解决方法是使用StreamSubscription来监听Bloc之间的通信。

示例代码:

在Bloc A中定义StreamController并添加StreamSubscription:

class BlocA extends Bloc {
  final _controller = StreamController();
  StreamSubscription? _subscription;

  BlocA() : super(const BlocALoading()) {
    _subscription = BlocProvider.of(context).stream.listen((event) {
      if (event is BlocBEvent) {
        // 处理事件
      }
    });
  }

  @override
  Stream mapEventToState(BlocAEvent event) async* {
    // 处理事件
  }

  @override
  Future close() {
    _subscription?.cancel();
    _controller.close();
    return super.close();
  }
}

在Bloc B中暴露出Stream:

class BlocB extends Bloc {
  final _controller = StreamController();

  BlocB() : super(const BlocBLoading());

  Stream get stream => _controller.stream;

  @override
  Stream mapEventToState(BlocBEvent event) async* {
    // 处理事件
  }

  @override
  Future close() {
    _controller.close();
    return super.close();
  }
}

这样,在Bloc B中产生的事件会在Bloc A中被监听到,从而实现Bloc之间的通信。

相关内容

热门资讯

科技新动态!智星德州扑克辅助挂... 科技新动态!智星德州扑克辅助挂多功能透视工具,一贯存在有挂(有挂详情)1)智星德州扑克辅助插件:进一...
来一盘!德扑之星辅助挂多功能透... 来一盘!德扑之星辅助挂多功能透视工具,原来真的有挂(竟然有挂)亲,关键说明,德扑之星透视脚本安卓赛季...
今日科普!德普之星辅助挂多功能... 今日科普!德普之星辅助挂多功能透视工具,都是有挂(有挂详情)1、今日科普!德普之星辅助挂多功能透视工...
一分钟了解!德扑之星辅助挂多功... 一分钟了解!德扑之星辅助挂多功能透视工具,总是存在有挂(讲解有挂)1、德扑之星公共底牌简单,德扑之星...
推荐几款新版!wepoker辅... 推荐几款新版!wepoker辅助挂多功能透视工具,竟然是有挂(新版有挂)1、wepoker脚本辅助下...
今日科普!红龙poker辅助挂... 今日科普!红龙poker辅助挂多功能透视工具,一贯真的是有挂(有挂解密)1、让任何用户在无需红龙po...
盘点一款!aapoker辅助挂... 盘点一款!aapoker辅助挂多功能透视工具,一直是真的有挂(有挂透明挂)1、每一步都需要思考,不同...
专业讨论!WPK辅助挂多功能透... 专业讨论!WPK辅助挂多功能透视工具,总是真的是有挂(果真有挂)WPK辅助器是一种具有地方特色的麻将...
实测教程!德扑圈辅助挂多功能透... 实测教程!德扑圈辅助挂多功能透视工具,其实真的有挂(新版有挂)1、打开软件启动之后找到中间准星的标志...
分享一款!智星菠萝德州辅助挂多... 分享一款!智星菠萝德州辅助挂多功能透视工具,果然是真的有挂(存在有挂)亲,关键说明,智星菠萝德州透视...