我想要组合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方法,但我不知道如何正确地做到这一点。
答案 0 :(得分:1)
zipWith
运算符在此处运行良好,因为它允许您提供描述如何组合两个BiFunction
实例的Single
(在这种情况下,我们只是将它们连接到val zipped: Single<List<Type0>> = source1.zipWith(source2, BiFunction { l1, l2 -> l1 + l2 })
{3}}):
{{1}}