Я ищу пример потока, который я пытаюсь реализовать с помощью RxJava.
Предположим, что я хочу показать список данных. Поток должен выглядеть примерно так:
- Прочитать кеш. Если он содержит данные, покажите его:
-
Отправьте запрос API на сервер:
Если он вернет данные, затем кешируйте их и покажите.
Если оно вернулось и ошибка и не было кэшированных данных, тогда покажите ошибку.
Если он вернулся и ошибка, и что-то было кешировано, тогда ничего не делайте.
Сейчас у меня есть метод который делает что-то подобное (с большим вдохновением от Jake u2020), Основное различие заключается в том, что он использует кэширование в памяти, что означает, что нет необходимости в отдельном Observable
для чтения из кеша, и это можно сделать синхронно.
Я не знаю, как объединить два наблюдаемых (один для чтения из кеша, а другой для вызова API) и получить описанный выше поток.
Любые предложения?