Mam trzy obserwable które łączę z combineLastest:RxJava Obserwowalne otrzymywać powiadomienia o pierwszej emisji
Observable<String> o1 = Observable.just("1");
Observable<String> o2 = Observable.just("2");
Observable<String> o3 = Observable.just("3");
Observable.combineLatest(o1, o2, o3, new Func3<String, String, String, Object>() {
@Override
public Object call(String s, String s2, String s3) {
return null;
}
});
Chcę być informowany o pierwszej emisji jednego z obserwable bez pomijając późniejsze emisje, które myślę, first operator zrobi. Czy istnieje wygodny operator do tego typu (przykład):
o1.doOnFirst(new Func1<String, Void>() {
@Override
public Void call(String s) {
return null;
}
})
Wymaganie dwóch subskrypcji do źródła jest potencjalnie nieefektywne (nie wiemy, jakie obciążenie może dotyczyć danego obserwowalnego obiektu). Sugerowałbym skorzystanie z odpowiedzi, która korzystała z jednego abonamentu do ogólnego użytku. W przypadku gorącego źródła można również przegapić emisję. –