2017-02-22 11 views
2

トークンを認証して受け取るネットワークコールと、このトークンを使用してデータを要求する2番目のトークンがあります。Concat Observables of different types

私はそれらをSingle<Data>に組み合わせたいと思っています。これを行うために、私はconcatを見ていましたが、これは同じタイプのObservableでのみ動作するようです。 zipを使用すると、第2のObservableの応答だけを返すことができましたが、私が最初にObservableを待ってから応答を処理する必要がある間に、それを並列で処理することができます。

私はこの場合に使用する演算子は何でしょうか?

答えて

4

リクエストトークンとリクエストデータが依存手順ですので、その後flatMap使用:

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

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

使用法:

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

パーフェクト、感謝を。 – ferbeb