RxJava2如何将2个单个列表加入到一个列表中

时间:2018-05-22 11:49:24

标签: kotlin rx-java2

我想要组合2个不同的数据源。

val source1: Single<List<Type1>> = Single.fromCallable({
    api.getSource1()
})!!

val source2: Single<List<Type2>> = Single.fromCallable({
    api.getSource2()
})!!

//PS.
class Type0()
class Type1 : Type0()
class Type2 : Type0()

我想加入2个来源并获得

Single<List<Type0>> 

所以我可以进一步处理数据,我想我应该使用.zip方法,但我不知道如何正确地做到这一点。

1 个答案:

答案 0 :(得分:1)

zipWith运算符在此处运行良好,因为它允许您提供描述如何组合两个BiFunction实例的Single(在这种情况下,我们只是将它们连接到val zipped: Single<List<Type0>> = source1.zipWith(source2, BiFunction { l1, l2 -> l1 + l2 }) {3}}):

{{1}}