Есть локальный источник данных:
Observable<Data> getData();
Есть запрос, чтобы их обновить:
Completable updateData();
Хочу чтобы данные начинали обновляться раз в N секунд, если на них подписаны. Что сделал:
Observable<Object> timer = Observable.interval(N, TimeUnit.SECONDS)
.flatMap(tick -> updateData().toObservalbe()).retry(N * 1000);
Observable<Data> getUpdatableData(){
return Observable.merge(timer, getData())
.filter(o -> o instanceof Data)
.map(o -> (Data) o);
}
Подскажите как избавиться от пары косяков:
Задача довольно типичная, но не могу найти хороших примеров.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости