【发布时间】:2020-03-09 11:13:58
【问题描述】:
我正在尝试通过使用throttleLast 的普通/纯RxJava 来防止快速点击。下面的代码执行得很好,但是blockingSubscribe 代码块永远不会被调用。我错过了什么吗?
我不是在寻找有关 JakeWharton/RxBinding 的任何建议。我只使用 RxJava。
代码:
fun previousDateOnClick(view: View) {
val time = System.currentTimeMillis()
Timber.d("previousButtonClick time=%s", time)
Observable.just(time)
.throttleLast(500, TimeUnit.MILLISECONDS)
.blockingSubscribe {
Timber.d("blockingSubscribe throttleLast time=%s", time)
}
}
日志输出:
2020-03-09 16:29:11.367 D: previousButtonClick time=1583751551367
2020-03-09 16:29:11.535 D: previousButtonClick time=1583751551535
2020-03-09 16:29:11.705 D: previousButtonClick time=1583751551704
2020-03-09 16:29:11.858 D: previousButtonClick time=1583751551857
2020-03-09 16:29:12.009 D: previousButtonClick time=1583751552009
2020-03-09 16:29:12.169 D: previousButtonClick time=1583751552169
2020-03-09 16:29:12.321 D: previousButtonClick time=1583751552320
2020-03-09 16:29:12.475 D: previousButtonClick time=1583751552474
2020-03-09 16:29:12.634 D: previousButtonClick time=1583751552633
2020-03-09 16:29:12.794 D: previousButtonClick time=1583751552793
2020-03-09 16:29:12.954 D: previousButtonClick time=1583751552953
2020-03-09 16:29:13.114 D: previousButtonClick time=1583751553114
2020-03-09 16:29:13.977 D: previousButtonClick time=1583751553976
2020-03-09 16:29:14.221 D: previousButtonClick time=1583751554220
2020-03-09 16:29:14.415 D: previousButtonClick time=1583751554414
2020-03-09 16:29:14.610 D: previousButtonClick time=1583751554609
2020-03-09 16:29:14.786 D: previousButtonClick time=1583751554786
2020-03-09 16:29:14.958 D: previousButtonClick time=1583751554957
2020-03-09 16:29:15.133 D: previousButtonClick time=1583751555132
2020-03-09 16:29:15.311 D: previousButtonClick time=1583751555310
2020-03-09 16:29:15.487 D: previousButtonClick time=1583751555486
2020-03-09 16:29:15.606 D: previousButtonClick time=1583751555605
这个帖子不是Preventing rapid clicks with RXJava 的重复,因为那里的问题不是关于使用pure/plain RxJava防止快速点击我可以在那里看到一些第三方建议。我在那里实现了任何公认的答案,但我仍然无法实现它,而且我对其他库不感兴趣。
【问题讨论】:
-
这能回答你的问题吗? Preventing rapid clicks with RXJava
标签: android rx-java rx-java2 rx-android