RxJava:单身名单
RxJava: List of Singles
我在使用 RxJava 时遇到了一些问题。我正在用 Kotlin 编码。这是我的问题:
我有一份单身名单。现在我需要所有 Singles 的发出结果才能继续。
如果 Singles 可以并行 运行 并且结果保持相同顺序,那就太好了。
当所有单身人士都发出结果时,我想继续。
val list_of_singles = mutableListOf<Single<Type>>()
val results: List<ResultType> = runSingles(list_of_singles)
// use results here...
如果您需要更多信息,请告诉我。
谢谢!!! :)
我是这样解决的:
val disposable = Observable.fromIterable(itemList).flatMapSingle { item ->
getSingle(item)
.map { singleResult ->
// do something with single result
}
}.doOnComplete {
// do stuff after processing all singles
}.subscribe()
addToCompositeDisposable(disposable)
使用框架比反对它更有意义。
fun main() {
val singles = listOf(
Single.just(1),
Single.just(2),
Single.just(3)
)
val list : Single<List<Int>> = Single.zip(singles) {
it.toList() as List<Int>
}
list.test().assertResult(listOf(1,2,3))
}
我在使用 RxJava 时遇到了一些问题。我正在用 Kotlin 编码。这是我的问题:
我有一份单身名单。现在我需要所有 Singles 的发出结果才能继续。
如果 Singles 可以并行 运行 并且结果保持相同顺序,那就太好了。
当所有单身人士都发出结果时,我想继续。
val list_of_singles = mutableListOf<Single<Type>>()
val results: List<ResultType> = runSingles(list_of_singles)
// use results here...
如果您需要更多信息,请告诉我。
谢谢!!! :)
我是这样解决的:
val disposable = Observable.fromIterable(itemList).flatMapSingle { item ->
getSingle(item)
.map { singleResult ->
// do something with single result
}
}.doOnComplete {
// do stuff after processing all singles
}.subscribe()
addToCompositeDisposable(disposable)
使用框架比反对它更有意义。
fun main() {
val singles = listOf(
Single.just(1),
Single.just(2),
Single.just(3)
)
val list : Single<List<Int>> = Single.zip(singles) {
it.toList() as List<Int>
}
list.test().assertResult(listOf(1,2,3))
}