不同类型的 Concat Observables

fer*_*beb 4 java reactive-programming rx-java reactivex

我有一个网络调用来验证和接收一个令牌,另一个使用这个令牌请求数据。

我想将它们组合成一个Single<Data>. 为此,我正在查看concat,但这似乎仅适用于Observable相同类型。使用zipI 可以只返回第二个的响应Observable,但据我所知,它可以并行工作,而我需要等待第一个Observable并在我开始第二个之前处理它的响应。

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

Dmi*_*ets 5

由于请求令牌和请求数据是相关步骤,因此使用 flatMap:

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

Single<Data> getData(String token) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

用法:

Single<Data> data = getToken(user, pass).flatMap(token -> getData(token))
Run Code Online (Sandbox Code Playgroud)