Как передать все события из одной темы в другую в RxJava? - PullRequest
0 голосов
/ 18 ноября 2018

Я хотел бы передать все элементы или ошибку от субъекта1 к субъекту2.Что у меня на уме что-то вроде этого:

val subject1 = BehaviorSubject.create<Int>()
val subject2 = BehaviorSubject.create<Int>()

subject1.subscribe(
    { subject2.onNext(it) },
    { subject2.onError(it) },
    { subject2.onComplete() },
    { subject2.onSubscribe(it)}
)

Можно ли как-нибудь упростить это преобразование?спасибо.

1 Ответ

0 голосов
/ 18 ноября 2018

Subject реализует Observer, поэтому вы можете сделать subject1.subscribe(subject2), чтобы получить события onNext, onError и onComplete. Если вам нужно также переадресовать onSubscribe, вы можете добавить doOnSubscribe() вызов:

subject1
  .doOnSubscribe { subject2.onSubscribe(it) }
  .subscribe(subject2)
...