Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >rxjava合并不同类型的观察值

rxjava合并不同类型的观察值
EN

Stack Overflow用户
提问于 2015-03-23 20:47:27
回答 2查看 25.2K关注 0票数 46

我是rxjava的新手。我需要将发出不同类型对象的两个可观察对象组合在一起。像Observable<Milk>Observable<Cereals>这样的东西,然后获取一个Observable<CerealsWithMilk>。对于这样的事情,我找不到任何操作员。做这样的事情的rx方式是什么?请注意,MilkCereals是异步的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-23 21:07:51

在不确切知道自己需要什么的情况下很难说,但可能是zip()combineLatest()

zip将同时接受Observable<Milk>Observable<Cereals>,并允许您通过提供的函数将它们组合到CerealsWithMilk中。这将在每次获取a Milk a Cereals时发出一个新的CerealsWithMilk

combineLatest类似于zip,只是它会发出一个新的CerealsWithMilk,即使只是了一个新的Milk ,或者只是发出了一个新的Cereals

票数 78
EN

Stack Overflow用户

发布于 2017-09-08 10:42:10

如果要合并不同类型的可观测数据,则需要使用Observable.zip

代码语言:javascript
运行
AI代码解释
复制
Observable<String> o1 = Observable.just("a", "b", "c");
Observable<Integer> o2 = Observable.just(1, 2, 3);
Observable<String> result = Observable.zip(o1, o2, (a, b) -> a + b);

result将是一个可观察到的对象,它将(a, b) -> a + b应用到o1o2的项目中,从而产生一个可观察到的产出"a1", "b2", "c3"

您可以使用任何函数。例如

代码语言:javascript
运行
AI代码解释
复制
    Observable<String> o1 = Observable.just("a", "b", "c");
    Observable<Integer> o2 = Observable.just(1, 2, 3);
    Observable<String> result = Observable.zip(o1, o2, (a, b) -> myFunc(a, b));
    //...

    private String myFunc(String a, Integer b) {
            //your code here
            return someString;
        }
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29220050

复制
相关文章
【RxJava】RxJava 简介 ( RxJava 概念 | RxJava 组成 - 被观察者 / 观察者 / 订阅 / 操作符 | RxJava 适用场景 )
RxJava 通过 组合调用 / 链式调用 被观察者 / 观察者 / 订阅 / 操作符 要素 ;
韩曙亮
2023/10/11
5500
【RxJava】RxJava 基本用法 ( 引入 RxJava 依赖 | 定义 Observer 观察者 | 定义 Observable 被观察者 | 被观察者订阅观察者 )
Gradle 项目中 , 在 build.gradle 构建脚本中 , 添加如下依赖 ;
韩曙亮
2023/10/11
6390
Rxjava解析笔记 | Rxjava概述 & 传统观察者设计模式解析
比如:在后台做一些网络操作、查询或者一些复杂计算的时候, 我们如果不用其他框架的话, 最常见做法即自己开一个子线程, 然后通过回调的形式获取到结果(如后台以结果为参数发送广播,前台回调onReceive()接收获取到结果); 但是这样有一个问题, 随着业务逻辑越来越复杂, 项目会陷入回调中套回调的病区, 这对后期维护代码来说是一个很严重的问题;
凌川江雪
2019/06/03
5020
c#:两个list不同元素,值类型,对象类型
立羽
2023/08/24
2610
Android RxJava应用:合并数据源
Rxjava由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。
Carson.Ho
2022/03/25
7820
Android RxJava应用:合并数据源
小程序根据返回值的int类型渲染不同的状态
需求:返回值里面有 0,1,2,3,4 分别代表面试,开会,拜访顾客,项目实施,其他这5中类型,需要将获取到的0,1,2,3,4渲染到页面上,分别显示所对应的类型状态面试,开会,拜访顾客,项目实施,其他。
王小婷
2021/06/22
1.8K0
小程序根据返回值的int类型渲染不同的状态
Git合并不同url的项目
摘要:为了让项目能实现Git+Gerrit+Jenkin的持续集成,我们把项目从Git上迁移到了Gerrit上,发现有的同事在老Git提交代码,因为Gerrit做了同步,在Gerrit上有新提交的时候就会刷新老git,这样就会把他提交的代码冲掉。这个时候我就必须要在两个相似项目之间合并提交了。
机智的程序员小熊
2019/01/21
2.4K0
Git合并不同url的项目
EXCEL取消合并且等于原合并值
方法一: 选中有合并单元格的区域, 例如:B4:B69,取消合并,然后在选中状态下\编辑\定位\定位条件\空值,确定后会在B5出现反白,输入等号后点B4,按住CTRL键回车. 方法二: Sub 取消合并且等于原合并值() If Selection.Count = 1 Then MsgBox "请选择合并单元格再执行本工具!", 64, "友情提示": Exit Sub Application.ScreenUpdating = False On Error GoTo err
用户1272546
2018/06/04
6880
EXCEL取消合并且等于原合并值
例如:B4:B69,取消合并,然后在选中状态下\编辑\定位\定位条件\空值,确定后会在B5出现反白,输入等号后点B4,按住CTRL键回车.
用户1191760
2019/02/27
5810
EXCEL快速合并相同值
Option Explicit Private srow As Integer Sub T() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim i As Integer, lcol As Integer srow = Application.InputBox("输入处理起始行号") lcol = Range("IV" & srow).End(xlToLeft).Column For i = 1 To lcol Call tt(i) Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
用户1191760
2019/02/27
9700
不同的公众号类型具备不同的接口权限
http://mp.weixin.qq.com/wiki/13/8d4957b72037e3308a0ca1b21f25ae8d.html
专注APP开发
2019/11/07
8910
不同的公众号类型具备不同的接口权限
不同类型指针的偏移量不同
这里的偏移量我指的是对应指针+几,地址所偏移的长度。
半生瓜的blog
2023/05/13
4750
不同类型指针的偏移量不同
不同页面传值
小程序页面传值,点击不同的页面反馈不一样对应页面 url传参 A页面:需要添加一些需传的值, <swiper indicator-dots='true' autoplay='true' interval='5000' duration='1000'   catchtap='onSwiperTap'> <swiper-item ><image src='/image/new-pic1.jpg' data-newsid='0' ></image></swiper-item> <swiper-item><imag
十月梦想
2018/08/29
1.8K0
EXCEL快速合并相同值
Option Explicit Private srow As Integer Sub T() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim i As Integer, lcol As Integer srow = Application.InputBox("输入处理起始行号") lcol = Range("IV" & srow).End(xlToLe
用户1272546
2018/06/04
8910
MySQL | 不同的数据类型
数据定义语言:数据类型 数据类型:数字 类型 大小 说明 TINYINT 1字节 ^1 小整数 SMALLINT 2字节 普通整数 MEDIUMINT 3字节 普通整数 INT 4字节 较大整数 BIGINT 8字节 大整数 FLOAT 4字节 单精度浮点数 DOUBLE 8字节 双精度浮点数 DECIMAL ——– DECIMAL(10, 2) 1^ : (-2^7 --- +2^7-1) 不精确的浮点数 十进制的浮点数无法在计算机中用二进制精确表达 CREATE TABLE temp( id
Zkeq
2022/05/18
1.6K0
MySQL | 不同的数据类型
类型不同怎么计算?
即使用户输入一个数字,比如 3,但程序拿到的是一个字符串 3,而不是数字 3,它和数字 1 不能直接进行加法运算,否则就会报错。
Crossin先生
2023/08/29
1420
类型不同怎么计算?
Carson带你学Android:RxJava操作符教程
Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。
Carson.Ho
2022/03/24
6690
Carson带你学Android:RxJava操作符教程
Android: RxJava操作符 详细使用手册
前言 Rxjava,由于其基于事件流的链式调用、逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎。 如果还不了解RxJava,请看文章:Android:这是一篇 清晰 & 易懂的R
Carson.Ho
2019/02/22
1.5K0
Git-合并两个不同的仓库
背景:由于拆分微前端,需要将最新代码合并到已经拆分的微前端项目,即需要将 2 个项目合并。 1.git 合并两个不同的仓库必备知识 1>.列出本地已经存在的分支 git branch 2>.查看当前 git 关联的远程仓库 git remote -v 3>.解除当前仓库关联的远程仓库 git remote remove origin //origin 远程分支别名 4>.git 同时关联多个远程仓库 //当前默认仓库别名为origin git remote add origin http://km-
leader755
2022/09/29
2.5K0
点击加载更多

相似问题

RxJava:合并不同线程上的观察值

10

合并不同类型的观察值

213

RxJava 2需要与RxJava 1不同的可观察返回类型(Kotlin)

14

创建rxjava观察值

23

Rxjava - hot观察值

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文