我想使用带延迟的AndroidRx debounce函数。
问题是,第一个发射的项不应该去抖动,也不应该有任何延迟,但所有其他项都应该去抖动。有什么简单的方法可以实现吗?
现在它看起来像这样:
publishSubject
.debounce(2, TimeUnit.SECONDS)
.observeOn(uiScheduler)
.subscribe({
onView { onRefreshEvent(it) }
}, {
onView { showError() }
}))发布于 2019-12-03 15:51:50
用debounceSelector解决了这个问题
publishSubject
.debounce {
if (isFirst(it)) {
Observable.just(it)
} else {
Observable.just(it).delay(2, TimeUnit.SECONDS)
}
}
.observeOn(uiScheduler)
.subscribe({
onView { onRefreshEvent(it) }
}, {
onView { showError() }
}))https://stackoverflow.com/questions/59152236
复制相似问题