我想使用 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)。
如何解决?