- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据我的观点,我认为 share()
和 publish().autoConnect()
是一样的。但是在这段代码中,结果是不一样的
Observable<Integer> cold = Observable.create(subscriber -> {
for (int i = 0; i <= 2; i++) {
System.out.println("Hot Observable Emit " + i);
subscriber.onNext(i);
}
});
ConnectableObservable<Integer> connectble = cold.publish().autoConnect(2);
//Obserable(Integer) connectavle = cold.share();
connectble.subscribe(subscriber1);
connectble.subscribe(subscriber2);
publish(). autoConnect() output
Hot Observable Emit 0
Subscriber 1 : 0
Subscriber 2 : 0
....
share() output
Hot Observable Emit 0
Subscriber 1 : 0
//the subscriber2 not receive event
share()
进行多播?我找到了
conclusion 但不适合这种情况。
最佳答案
它们的不同之处在于,当订阅者从 share
退订时,上游断开连接,当新订阅者订阅时,上游源重新订阅并从头开始(如果冷)。autoConnect
等待指定数量的订阅者,连接一次,并且在所有订阅者取消订阅时永远不会断开连接。这是一个 description关于它是如何工作的。
关于rx-java - share() 和 publish().autoConnect() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40466844/
参见 BluetoothDevice.connectGatt() . autoConnect的描述是 boolean: Whether to directly connect to the remot
我正在使用 rxJava/rxAndroid,但有一些非常基本的东西没有按照我的预期运行。我有一个可观察对象和两个订阅者: Observable dataStream = Observable.jus
我有一个 fragment ,我在其中执行 API 请求。该 fragment 可以作为 fragment 替换的结果进入堆栈,然后再返回。那一次因为只重新创建了 View ,所以我不想重新执行 Ap
根据我的观点,我认为 share() 和 publish().autoConnect() 是一样的。但是在这段代码中,结果是不一样的 Observable cold = Observable.crea
我的目标是在低功耗蓝牙设备和手机之间建立自动连接。我按照示例代码进行操作,找到了这一行 // We want to directly connect to the device, so we are
我想创建一个可观察量,仅当新值与前一个值不同时,它才会从底层热可观察量(之前以 -1 开始)发出值。此外,我希望最新的值(value)能够立即发送给新订阅者。我想出了以下代码: PublishSubj
我必须为可观察结果提供一个短期缓存。 查看选项,我看到以下内容: 缓存 replay(1).refCount()当数据准备好时,缓存实际值。缓存检索将检查实际数据并执行 Observable.just
我正在开发 Android 和 BLE。我希望应用在 BLE 设备 断开连接但返回范围内并播放广告后自动重新连接 到BLE 设备。 我使用以下代码连接到 BLE 设备: public void con
我是一名优秀的程序员,十分优秀!