Java 不同类型的Concat观测值

Java 不同类型的Concat观测值,java,rx-java,reactive-programming,reactivex,Java,Rx Java,Reactive Programming,Reactivex,我有一个网络调用,用于验证和接收令牌,第二个网络调用使用该令牌请求数据 我想把它们组合成一个单体。为了做到这一点,我查看了concat,但这似乎只适用于同一类型的Observable。使用zip我可以只返回第二个可观察的的响应,但据我所知,它并行工作,而我需要等待第一个可观察的并处理它的响应,然后才能开始第二个 在这种情况下,我应该使用什么运算符?因为请求令牌和请求数据是相关步骤,所以请使用flatMap: Observable<String> getToken(String use

我有一个网络调用,用于验证和接收令牌,第二个网络调用使用该令牌请求数据

我想把它们组合成一个
单体
。为了做到这一点,我查看了
concat
,但这似乎只适用于同一类型的
Observable
。使用
zip
我可以只返回第二个
可观察的
的响应,但据我所知,它并行工作,而我需要等待第一个
可观察的
并处理它的响应,然后才能开始第二个


在这种情况下,我应该使用什么运算符?

因为请求令牌和请求数据是相关步骤,所以请使用flatMap:

Observable<String> getToken(String user, String password) {
   ...
}

Single<Data> getData(String token) {
   ...
}
Observable getToken(字符串用户、字符串密码){
...
}
单getData(字符串标记){
...
}
用法:

Single<Data> data = getToken(user, pass).flatMap(token -> getData(token))
singledata=getToken(用户,通行证).flatMap(令牌->getData(令牌))