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