RxJava (Kotlin), Observable.amb y PublishSubject no están disparando

Estamos intentando observar un intervalo de 15 onNext o cada vez que onNext en nuestro tema refreshEventsSubject , pero sin éxito.

El sujeto se inicia como tal

private val refreshEventsSubject = PublishSubject<Long>()

Y luego tratamos de observarlo así

Observable.merge(Observable.interval(0, 15, TimeUnit.SECONDS), refreshEventsSubject) .subscribe { ... }

Obtenemos los events del intervalo cada 15 segundos, pero el sujeto no está disparando después de ejecutar

refreshEventsSubject.onNext(0)

Cualquier idea apreciada.

(Todo está escrito en Kotlin)

¡Asegúrate de que no se refreshEventsSubject.onNext(0) desde tu hilo principal ya que puede causar lockings!

También use http://reactivex.io/documentation/operators/amb.html en lugar de fusionar, ya que fusionará dos events oppon llamando a Next en su tema.

Lea la documentation de AMB: http://reactivex.io/documentation/operators/amb.html

Específicamente, emit all of the items from only the first of these Observables to emit an item or notification .

El operador que está buscando es probablemente Observable.merge : http://reactivex.io/documentation/operators/merge.html

  • ¿Puedo crear un método de extensión Kotlin para agregar una suscripción rxJava a una suscripción compuesta?
  • Obtiene N últimos objects emitidos por observables en RxJava2
  • ¿Cómo puedo agregar de manera condicional una operación asincrónica en medio de una transmisión de RxJava?
  • Múltiples requestes de modificación2 usando Flowable en Kotlin
  • Cómo pasar nulo a un Observable con tipo anulable en RxJava 2 y Kotlin
  • ¿Cómo especificar la versión de RxJava al usar RxKotlin?
  • Comportamiento con Kotlin Higher-Order Functions e interfaces de método único?
  • Kotlin con stack RxKotlinFX da un error de class de acceso
  • RxKotlin collectInto () MutableList usando references de método
  • Agregar subscribeOn () está cambiando el tipo de retorno de observable
  • Cómo notificar a Observable cuando finalice CountdownTimer