kotlin - RxJava2如何将2个单列表加入一个列表
问题描述
我有 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 方法,但我不确定如何正确执行。
解决方案
运算符在zipWith
这里工作得很好,因为它允许您提供BiFunction
描述如何组合两个Single
实例的 a (在这种情况下,我们只是将它们与plus
operator连接起来):
val zipped: Single<List<Type0>> = source1.zipWith(source2, BiFunction { l1, l2 -> l1 + l2 })
推荐阅读
- c - 为什么我的程序在没有任何错误信息的情况下在 waitpid() 中停止?
- c++ - C++ 字符串引用不能共存
- sql - SQL 表中条件选择查询组合的可能数量
- tensorflow - 即使在 Keras 中使用 Lambda 层,也没有属性“_inbound_nodes”错误
- spring-boot - 使用不同的 sftp 会话工厂
- modal-dialog - SwiftUI:如何在 DetailView 上显示模式表,而不是在常规模式下显示 MasterView
- assembly - 如何验证或检查 I/O(输入/输出,io,IO)端口?
- css - 左:css 的 auto 属性在 Internet Explorer 中不起作用
- sql - 如何通过不改变结构用 SQL 总结分组结果的总和?
- php - 来自mysql数据库的PHP多个电子邮件地址