Я новичок в RxJava/RxAndroid, но я застрял в своем прецеденте.Iterate list with RxJava/RxAndroid
Я пытаюсь перебирать в List<A>
преобразовать каждый A
в B
асинхронно (потому что он должен позвонить в базу данных), и мой Observer
должен быть уведомлен о каждом успешном преобразовании (в onNext()
), чтобы сделать некоторые работы в главном потоке.
Мне удалось преобразовать весь список, а затем получить List<B>
в onNext()
, но мне нужно знать, что у каждого товара не все предметы.
Я пытался что-то с оператором from
, но если я использую from(List<A>)
мои Observer
должны receivied объекты из того же типа (A
и не B
).
Вот как мой код для преобразования всего List<A>
в list<B>
Что мне здесь изменить?
private List<A> listOfA;
private startConversion() {
Observer observer = new Observer<List<B>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onNext(List<B> convertedItems) {
onConversionCompleted(convertedItems);
}
};
Observable<B> observervable = Observable.fromCallable(new Callable<List<B>>() {
@Override
public List<B> call() throws Exception {
return convertListOfAToListOfB(listOfA);
}
});
subscription = observable
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer);
}
PS: это псевдо-код.
Спасибо за помощь!