Rxjava连接操作符

本文深入探讨RxJava中的Connect和RefCount操作符,解释如何通过publish操作符将普通Observable转换为ConnectableObservable,并分析Connect和RefCount操作符如何改变数据发射行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rxjava操作符索引

这篇章主要介绍Rxjava的连接操作符

目录

Connect

RefCount


Connect

官方说明不贴了,看不明

ConnectableObservable connectableObservable = Observable.just(1,2,3,4).publish();
        connectableObservable.subscribe(num -> System.out.println(num +"*"));
        connectableObservable.subscribe(num -> System.out.println(num +"+"));
        connectableObservable.connect();

结果:

1*
1+
2*
2+
3*
3+
4*
4+

首先看看publish操作符,你就当成是变幻形态。publish可以把普通的observable变成一个叫做可连接observable。而你看上面可连接connectableObservable,它订阅了两个观察者,但订阅的时候是不会发射数据的,可连接的observable只有当执行了connect操作符,才会发射数据。从上面的结果可以看出它订阅的两个观察者都会受到数据。

RefCount

将一个可连接的observable变回一个普通的observable,普通的observable就是订阅的时候就发射数据

ConnectableObservable connectableObservable = Observable.just(1,2,3,4).publish();
        connectableObservable.subscribe(num -> System.out.println(num +"*"));
        connectableObservable.subscribe(num -> System.out.println(num +"+"));

        connectableObservable.refCount().subscribe(num -> System.out.println(num+"-"));

结果:

1*
1+
1-
2*
2+
2-
3*
3+
3-
4*
4+
4-

变回普通的observable,只要已订阅就发射数据,但之前的订阅还是会有效。

校园失物招领微信小程序源码, 失物招领小程序主要为解决大学生时常丢失物品而且很难找回以及归还过程繁琐不方便的问题, 与传统的失物招领方式不同,该款校园失误招领小程序拥有快捷发布寻物启事和失误找领功能, 快速查找、极速归还、高效沟通、防误领冒领等功能, 在开发校园失物招领小程序前与用户访谈发现有近40的同学校园内频繁丢失物品、证件、校园卡等, 数码产品、日用品等,丢失区域主要发生在教学楼、图书馆和食堂。 拾领校园失物招领小程序继承了寻物启事和失物招领,丢失物品或拾取物品都可发布帖子, 首页的横幅滚动公告展示通知公告等,banner图片化的方式更具有视觉吸引力, 最新信息可显示最近发布的招领信息或寻物信息,更加方便快捷的展示信息, 用户可通过首页的发布按钮发布帖子,发布者只需填写物品的相关信息,类别、地点等相关信息, 并且可以填写手机号开启认领验证,并可以一键生成二维码分享或分享至群聊和朋友圈。 列表内可以筛选物品类别或精确搜索,物品详情里可展示物品的相关信息, 确认是自己的物品后可点击认领,然后验证信息,需填写物品的关键信息以作辨认, 防止冒领误领,物品详情页可生成二维码海报分享,还有即时的消息联系功能以提高沟通效率, 发布者还可选择放置在代收处,双方还可以通过拨打电话紧急联系,用于紧急情况,让失物找到主人, 个人中心可以管理发布的物品帖子,管理个人信息,包括昵称、默认学校、手机号的修改、 编辑发布的物品帖子、获取帮助等。帮助用户流畅的使用该小程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值