1
有一些我想用Obserbles來完成,但我不能想到這樣做的一種方式。Rxjava Observables dependency
想象我有:
- ObservableA
- ObservableB
爲了使用ObservableB,我需要從ObservableA結果。 得到ObservableB的結果後,我需要構造一個對象 與ObservableA和Observable B的結果。
這是做適當的運算符=?我找不到任何。
我試着用拉鍊:
return Observable.zip(
observableA.flatMap(A -> ObservableB(A))
,
ObservableA
, new Func2<B, A, Object>() {
@Override
public Object call(B b, A a) {
String ab = someFunction(a.someFunction());
return new Object(a, ab, b);
}
});
但是拉鍊回報的項目不是另一個觀察的。
編輯:我設法把它做:
return Observable.zip(
getRosterEntry(userXmppAddress).flatMap(rosterEntry -> getRosterPresence(rosterEntry.getUser()))
,
getRosterEntry(userXmppAddress)
, new Func2<Presence, RosterEntry, Friend>() {
@Override
public Friend call(Presence presence, RosterEntry rosterEntry) {
String finalUserXmppAddress = AppXmppUtils.parseXmppAddress(rosterEntry.getUser());
return new Friend(rosterEntry.getName(), finalUserXmppAddress, presence);
}
}).flatMap(Observable::just);
但它似乎有點overcoded。有沒有其他方法可以實現這一點?