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))
我有一个网络调用可以验证并接收一个令牌,还有一个网络调用使用这个令牌请求数据。
我想将它们组合成 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))