ПРОБЛЕМАРаспространение наблюдаемым, а затем сгруппировать их вместе
Мне нужно создать операцию, как это:
get all elements from DB -> send call to API that these elements are marked as read -> save status of read elements
Я пытаюсь сделать хорошую цепочку с RxJava, и я хочу :
- Сбор данных из БД
- Создано Observ в состоянии с
List<Integer>
с remoteIds - вызовов API на этих элементах
- Соберите все ответы и передать его в качестве
List<Integer>
- Сохранить ответы
проблемой является распространение и группировка из точек 3. 4. Я не уверен, как сделать такую цепочку. И, как вы можете видеть ниже, я застрял в пункте 3. с моим кодом, потому что я не знаю, как собрать данные для каждого запроса. Есть ли какая-то трансформация, которая может быть полезной в моем случае?
АКТУАЛЬНО ПРОГРЕСС ака КОД
sub = getDb()
.createQuery(DbContract.Notification.TABLE_NAME, sql, String.valueOf(NOTIFICATION_UNREAD))
.map(new CursorListMapper<>(new NotificationPersistenceModel()))
.map(new Func1<List<DataNotification>, Observable<List<Integer>>>() {
@Override
public Observable<List<Integer>> call(List<DataNotification> notifications) {
List<Integer> ids = new ArrayList<>();
for (DataNotification notification : notifications) {
ids.add(notification.getRemoteId());
}
return Observable.just(ids);
}
})
.subscribe();
EDIT
- Список
Observables
казалось плохой идеей - изменить наObservable<List<Integer>>
Спасибо родственного, который был недостающая частью! Не знал о методе toList, что очень помогло. – JakubW