Refcount Observable не генерирует при второй подписке - PullRequest
0 голосов
/ 09 ноября 2018

refCount ведет себя неожиданно в этом случае использования. Это похоже на то, что при первоначальной подписке она больше не отправляется во второй подписке.

Почему refCount () не генерирует вторую подписку?

// Why does this test fail?
@Test
fun `refCount - on second subscription - emits value`() {
    val subject = BehaviorSubject.create<Int>()

    val observable = subject
            .doOnNext { System.out.println("This emits for second subscriber") }
            .replay(1)
            .refCount()
            .doOnNext { System.out.println("This does NOT emit for second subscriber") }

    // This line causes the test to fail.
    observable.takeUntil(Observable.just(Unit)).test()

    subject.onNext(2)

    val subscriber = observable.take(1).test()
    val finished = subscriber.awaitTerminalEvent(2, TimeUnit.SECONDS)
    assertTrue(finished)
}
...