Я работаю над функцией, в которой мне нужно отфильтровать данные сетевого ответа на основе данных локальной базы данных.
Например, мои сетевые слои возвращают мне список элементов, а мой уровень базы данных возвращает наблюдаемый список идентификаторов. Теперь я хочу вернуть только те объекты из сетевого уровня, идентификатор которых совпадает с кем-либо из ответа уровня базы данных.
Ниже код извлекает данные из сети и сохраняет результат в базе данных (кэш).
factory.getRemoteDataStore()
.searchForVenues(query)
.toObservable()
.distinctUntilChanged()
.flatMap { venues ->
factory.getCacheDataStore()
.saveVenues(venues)
.andThen(Observable.just(venues))
}
У меня также есть метод, который возвращает список мест, которые необходимо отфильтровать.
factory.getCacheDataStore().getDislikedVenues()
Теперь, как мне расширить предыдущую цепочку, чтобы использовать getDislikedVenues() Observable для фильтрации их из ответа сетевого ответа?
Извините за такой нубский вопрос, я действительно борюсь с этим.