0
我有一個REST調用返回集合(原件),這個集合進行過濾,但是,訂閱onSuccess
我什麼同時獲得原始列表將過濾。如何保留原有左右觀察到的信息對RxJava2
我不知道如何「通行證」這第二個元素,我應該使用哪個運營商來獲得這樣的結果?
我告訴我的代碼如下
Observable.fromCallable(new Callable<List<Integer>>() {
@Override public List<Integer> call() throws Exception {
// dynamic list obtained from REST call
// for simplicity here I return a list
return Arrays.asList(1, 2, 3, 4);
}
})
.flatMap(new Function<List<Integer>, ObservableSource<Integer>>() {
@Override public ObservableSource<Integer> apply(List<Integer> integers) throws Exception {
return Observable.fromIterable(integers);
}
})
.filter(new Predicate<Integer>() {
@Override public boolean test(Integer integer) throws Exception {
return integer > 2;
}
})
.toList()
.subscribe(new SingleObserver<List<Integer>>() {
@Override public void onSubscribe(Disposable d) {}
@Override public void onSuccess(List<Integer> value) {
///////////////////
// here I want both original and filtered list
///////////////////
}
@Override public void onError(Throwable e) {}
});
這聽起來有點複雜,只是'傳遞'第二個參數,也許我會盡一切努力在可調用,但感謝您的重要提示 – dafi