Android PublishSubject 一切中的 RX Debaunce,但首先
Android RX Debaunce in PublishSubject everything, but first
我想使用 AndroidRx
debounce
延迟功能。
问题是第一个发出的项目不应该去抖动,也不应该有任何延迟,但所有其他项目都应该。
有什么简单的方法可以实现吗?
现在看起来像这样:
publishSubject
.debounce(2, TimeUnit.SECONDS)
.observeOn(uiScheduler)
.subscribe({
onView { onRefreshEvent(it) }
}, {
onView { showError() }
}))
用 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() }
}))
我想使用 AndroidRx
debounce
延迟功能。
问题是第一个发出的项目不应该去抖动,也不应该有任何延迟,但所有其他项目都应该。 有什么简单的方法可以实现吗?
现在看起来像这样:
publishSubject
.debounce(2, TimeUnit.SECONDS)
.observeOn(uiScheduler)
.subscribe({
onView { onRefreshEvent(it) }
}, {
onView { showError() }
}))
用 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() }
}))