Rx Java цепочка последовательных операций - PullRequest
0 голосов
/ 21 июня 2020

Я новичок ie в Rx Java. Я хочу объединить три последовательные асинхронные операции в цепочку с помощью RxJava2:

  1. fun getDataFromRESTApi(): Observable<TheData>
  2. saveDataToCache(theData: TheData): Completable
  3. getDataFromCache(): Observable<TheData>

Как я могу это сделать? Какие методы rx java я мог бы использовать?

1 Ответ

0 голосов
/ 21 июня 2020

Я не уверен, чего именно вы пытаетесь достичь, но есть оператор concatMap:

getDataFromRESTApi()
  .concatMap(theData -> saveDataToCache(theData).toObservable())
  .concatMap(cachedData -> getDataFromCache()) //maybe not needed

С другой стороны, если saveDataToCache возвращает сохраненные данные (кэшированные), вы этого не сделаете. нужна третья строка.

...