我有一个返回Completable
的方法,我希望它是multicasted
,因为任何第二个订阅者都不应该重新执行该方法,而是应该获得相同的旧发射值。我使用replay().autoConnect()
实现了它,如下所示并按预期工作
public Completable init() {
return repository.init()
.subscribeOn(Schedulers.io())
.flatMapCompletable(s -> Completable.fromAction(() -> {
// some action
})).toObservable().replay().autoConnect().ignoreElements();
}
如您所见,Completable
我转换为Observable
并在使用replay().autoConnect()
再次将Completable
应用回ignoreElements()
之后。它有效但是,我是以正确的方式做到的吗?
是否有任何速记运算符可用于Completable
直接组播它?