Rx java:发出第一个项目,忽略接下来的项目 5 秒
Rx java: emits first item, ignore coming items for 5 seconds
考虑以下情况:
- 用户多次点击刷新按钮。
- 我只想处理一次点击,忽略其他点击 5 秒。
- 处理 5 秒后的另一个新点击。
使用 rxjava2,您可以使用:
.throttleFirst(1, TimeUnit.SECONDS)
throttleFirst:
Returns an Observable that emits only the first item emitted by the source ObservableSource during sequential time windows of a specified duration.
在 Rxjava 2, you should use debounce 运算符中,如果特定的时间跨度已经过去而没有发出另一个项目,则从 Observable 发出一个项目
.debounce(300, TimeUnit.MILLISECONDS)
考虑以下情况:
- 用户多次点击刷新按钮。
- 我只想处理一次点击,忽略其他点击 5 秒。
- 处理 5 秒后的另一个新点击。
使用 rxjava2,您可以使用:
.throttleFirst(1, TimeUnit.SECONDS)
throttleFirst: Returns an Observable that emits only the first item emitted by the source ObservableSource during sequential time windows of a specified duration.
在 Rxjava 2, you should use debounce 运算符中,如果特定的时间跨度已经过去而没有发出另一个项目,则从 Observable 发出一个项目
.debounce(300, TimeUnit.MILLISECONDS)