我正在寻找更好的方法:
mRestService.login(email, password) // Login user in
.flatMap(user -> Observable.zip(
mRestService.start(user._token), // Start his session
Observable.just(user),
(v, u) -> (User) u // Pass user throught
))
.subscribe(user -> {
}, throwable -> {
});
但我没想出更好的东西。
答案 0 :(得分:1)
start
上的mRestService
方法执行副作用。因此,您可以使用doOnNext
方法来处理这种副作用。
mRerstService.login(email, password)
.doOnNext(u -> mRestService.start(user._token))
.subscribe();
答案 1 :(得分:0)
您应该在flatMap中调用mRestService.start(user._token)。用户对象将传递给subscribe,您可以在其中使用它。
mRestService.login(email, password) // Login user in
.flatMap((user -> mRestService.start(user._token)))
.subscribe(user -> {
}, throwable -> {
});