0
我有一個經理,它封裝了調用改造服務,因爲我需要保存會話令牌和對象上登錄,則:多次使用相同的可觀測與改造
class LoginManager {
public static Observable<Session> login(String email, String password) {
Credential credential = new Credential(email, password);
Observable<Session> observable = SERVICE.createSession(credential);
observable.subscribe(new Subscriber<Session>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Session session) {
String token = session.getToken();
saveToken(token);
save(session.buildCustomer());
}
});
return observable;
}
}
我的服務是這樣的:
public interface CustomerService {
@POST("/api/sessions/customer")
Observable<Session> createSession(@Body Credential credential);
}
在我的活動中使用管理器內部和外部的可觀察性是否正確?
它有什麼問題?
----編輯
改爲映射:
class LoginManager {
public static Observable<Session> login(String email, String password) {
Credential credential = new Credential(email, password);
return SERVICE.createSession(credential)
.map(session - {
String token = session.getToken();
saveToken(token);
save(session.buildCustomer());
return session;
});
}
}
這是一個好主意嗎?
它的工作,謝謝 – Caipivara