1
我使用TheMovieDb API https://www.themoviedb.org/documentation/api如果我想进行身份验证,我必须使用三个步骤来执行此操作 - 获取令牌,使用令牌创建会话并获取会话ID。我想用3 Observable
来做到这一点,但我不知道如何能连锁Observables
这样做。如何连接链中的多个Observable
我Observables
public interface AuthenticationService {
@GET("authentication/token/new")
Observable<Token> getMdbToken();
@GET("authentication/token/validate_with_login")
Observable<Token> createSessionId(Credentials credentials,String token);
@GET("authentication/session/new")
Observable<Session> getSessionId(String token);
}
这是可能链Observables
,使一个Observable
?我没有使用经验Observables
谢谢,这个工程。但是这会按特定顺序来做吗?例如,getSessionId可能会在createSessionId之前启动吗? –
在一般情况下不能保证。 'flatMap'不保证顺序(参见[diagram](http://reactivex.io/documentation/operators/images/flatMap.c.png))。如果您必须确保订单查找'concatMap'([diagram](http://reactivex.io/documentation/operators/images/concatMap.png))。然而,在你的情况下,它是不相关的,因为你序列中的每个'Observable'只会产生一个'onNext'事件。 –