У меня есть следующий тестовый случайПримите и использование дребезга вопрос
public void testLimitAndPublishSubject() throws InterruptedException {
PublishSubject<Boolean> mBooleanPublishSubject = PublishSubject.create();
mBooleanPublishSubject.asObservable()
.doOnEach(__ -> System.out.println("on value emitted "+System.currentTimeMillis()))
.take(1)
.doOnEach(__ -> System.out.println("on value emitted 2 "+System.currentTimeMillis()))
.debounce(1000, TimeUnit.MILLISECONDS)
.doOnEach(__ -> System.out.println("on value emitted 3 "+System.currentTimeMillis()))
.subscribe(__ -> System.out.println("done "+System.currentTimeMillis()));
mBooleanPublishSubject.onNext(true);
Thread.sleep(1000);
mBooleanPublishSubject.onNext(true);
Thread.sleep(2000);
}
и выход
on value emitted 1454063289770
on value emitted 2 1454063289770
on value emitted 2 1454063289779
on value emitted 3 1454063289780
done 1454063289780
on value emitted 3 1454063289780
Я не могу понять, почему on value emitted 2
и on value emitted 3
появляется в журнале дважды, и почему задержка debounce не работает. Может ли кто-нибудь помочь?