【发布时间】:2021-10-17 19:47:59
【问题描述】:
我读到了合并和连接之间的区别。 Concat 保留顺序,不合并。
但在我的情况下,合并总是保持顺序。有什么问题?为什么我的合并等待以前的任务? 我想获得随机结果,但在这种情况下,我总是得到 A1 A2 A3... B1 B2 B3...
fun doSomething() {
compositeDisposable.add(
Observable.merge(getNumber1(), getNumber2())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ item -> println(item) },
{ error -> println(error.message) }
))
}
private fun getNumber1(): Observable<String> {
return Observable.create { emitter ->
for (i in 1..10) {
emitter.onNext("ObservableA: " + i)
}
emitter.onComplete()
}
}
private fun getNumber2(): Observable<String> {
return Observable.create { emitter ->
for (i in 1..10) {
emitter.onNext("ObservableB: " + i)
}
emitter.onComplete()
}
}
【问题讨论】:
标签: android kotlin observable rx-java