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之间的通信。

相关内容

热门资讯

一分钟秒懂!同城游牛鬼透视功能... 一分钟秒懂!同城游牛鬼透视功能app,同城游牛鬼其实真的有透视app(有辅助挂秘诀);1、同城游牛鬼...
最新技巧!俱乐部辅助器功能教程... 最新技巧!俱乐部辅助器功能教程,俱乐部真是存在有辅助器教程(有辅助挂细节)1、俱乐部破解器简单,俱乐...
必备攻略!闲来贵州麻将辅助器功... 必备攻略!闲来贵州麻将辅助器功能插件,闲来贵州麻将本来是真的有辅助器插件(有辅助挂技术)1、在闲来贵...
终于懂了!淘讯大厅开挂功能技巧... 终于懂了!淘讯大厅开挂功能技巧,淘讯大厅本来真的有开挂技巧(有辅助挂细节)1)淘讯大厅辅助插件:进一...
玩家必看秘籍!微乐河南麻将辅助... 玩家必看秘籍!微乐河南麻将辅助器功能技巧,微乐河南麻将好像存在有辅助器技巧(有辅助挂辅助);一、微乐...
记者爆料!红拐弯开挂功能教程,... 记者爆料!红拐弯开挂功能教程,红拐弯总是真的有开挂教程(有辅助挂细节)1、红拐弯透视辅助软件激活码多...
重大来袭!真人面对面牛牛透视功... 重大来袭!真人面对面牛牛透视功能教程,真人面对面牛牛好像存在有透视教程(有挂辅方法)1、在真人面对面...
一分钟了解!友乐广西麻将透视功... 一分钟了解!友乐广西麻将透视功能教程,友乐广西麻将果然有透视教程(有挂辅方法)1、友乐广西麻将公共底...
必备科技!飞驰娱乐辅助功能ap... 必备科技!飞驰娱乐辅助功能app,飞驰娱乐切实是有辅助app(有辅助挂方针)1、飞驰娱乐脚本辅助下载...
六分钟了解!懒人娱乐开挂功能软... 六分钟了解!懒人娱乐开挂功能软件,懒人娱乐一贯是有开挂软件(有辅助挂方针)1、懒人娱乐辅助软件下载优...