Цепочка блоков в RxKotlin и Приступить - PullRequest
1 голос
/ 14 мая 2019

У меня есть операция связывания в моем приложении. Когда у меня есть список некоторых данных, я буду перебирать список с iteratable observable, как только итерация завершится, я выполню другую операцию, которая не зависит от предыдущего спискатак что мне нужно между этими двумя операциями, которые мне нужно заблокировать (или преградить), пока первая не завершится и продолжить со второй.

Пример

Observable.fromIterable(listOf("A","B","C","D"))
          .map{
            doSomeTask(it)
          } 
   // I need a blocking here, once this iteration completes i will proceed with the below task, but i don't need of toList() to block since i don't want the data,       
          .map{
            doSomeOtherTask()
          }

Может кто-нибудь помочь мнес этим?

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Что вы можете сделать ниже:

Observable.fromIterable(listOf("A", "B", "C", "D"))
        .subscribeBy(
            onNext = {
                doSomeTask(it)
            },
            onComplete = {
                doSomeOtherTask()
            }
        )

Таким образом, вы достигнете ожидаемого результата.Ура! * * 1004

0 голосов
/ 14 мая 2019

Используйте doOnNext, если вы хотите распространять каждое из значений, или doOnComplete, если вы хотите что-то сделать в конце итерации.

...