Neu in rxJava Ich kämpfe, um eine Observable durch Verschachtelung Retrofit Observables zu bekommen. Auf dem Codeblock .map(userResponse -> { data.put final Intent resd = new Intent(); resd.putExtras(data); return (Intent)resd; });
zyklische Inferenz in Retrofit RxJava verschachtelte Observablen
Ich bekomme einen zyklischen Inferenzfehler. Wenn ich versuche zu kompilieren ich eine seltsame Nachricht erhalte ich verstehe nicht ganz, wie:
Error:(52, 21) error: incompatible types: cannot infer type-variable(s) R (argument mismatch; bad return type in lambda expression Intent cannot be converted to Observable) where R,T are type-variables: R extends Object declared in method flatMap(Func1>) T extends Object declared in class Observable
hier ist der Code:.
public Observable<Intent> createUser(final String email) {
Bundle data = new Bundle();
return mWebservice.clientAuth("myFakeClientId") //returns an Observable<AccessToken>
.map(clientTokenObject -> {
String clientToken = clientTokenObject.accessToken;
Observable<Response<User>> userResponseObservable = mWebservice.createAccount(email);
Observable<Intent> resultObs = userResponseObservable
.map(userResponse -> {
final Intent resd = new Intent();
resd.putExtras(data);
return (Intent)resd;
});
return resultObs;
});
}
; (
Danke für deine Antwort, ich fand das gleiche heraus (aber es war zufällig Dinge zu versuchen ...) Ich verstehe wirklich nicht den Unterschied zwischen map() ant fatMap() (appart die abflachenden Sachen), danke für Ihre Antwort – gropapa
Marble Diagramme helfen. Überprüfen Sie das [Diagramm in der Flatmap-Dokumentation] (http://reactivex.io/documentation/operators/flatmap.html). – JohnWowUs