Я хочу использовать PublishSubject + debounce (в логике подписки) для отправки моих товаров с задержкой. Это мой код:
Логика подписки:
notificationSubject = PublishSubject.create<Notification>()
notificationSubject
.debounce(300, TimeUnit.MILLISECONDS)
.doOnIOSubscribeOnMain() // ext. fun, I hope you understand it
.subscribe {
displayNotification(it)
}
И излучать объекты логикой:
showNotification(obj1)
showNotification(obj2)
// ...
fun showNotification(notification: Notification) {
notificationSubject.onNext(notification)
}
Но при подписке я получаю только первый отправленный элемент (obj1). И если я снова испускаю два объекта (obj3, obj4), я получаю только первый из испущенного объекта (obj3).
Как это исправить?