Concat 不同类型的 Observable

Concat Observables of different types

我有一个网络调用可以验证并接收一个令牌,还有一个网络调用使用这个令牌请求数据。

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

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

由于请求令牌和请求数据是依赖步骤然后使用 flatMap:

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

Single<Data> getData(String token) {
   ...
}

用法:

Single<Data> data = getToken(user, pass).flatMap(token -> getData(token))