【发布时间】:2018-05-23 03:21:44
【问题描述】:
我正在尝试在 RxJava 中找到一个以特定方式限制的运算符:
- 发射一个元素
- 在元素发射后的一段时间内,所有其他发射的元素都会被过滤掉
我似乎找不到与此行为匹配的。我看了一些类似的,但似乎没有一个是正确的。
debounce/throttleWithTimeout- 发出一系列元素中的最后一个元素,这些元素之间的间隔很短sample/throttleLast查看设置的时间间隔并在每个时间间隔发出最后一个元素。throttleFirst查看设置的时间间隔并在每个时间间隔中发出第一个元素。这似乎与我想要的最接近,但并不完全相同。
是否有任何我可以使用的 RxJava 运算符与此匹配?这似乎是一个有用的用例。
【问题讨论】:
-
刚刚发布的 RxJava 2.1.14 中有一个新的
ThrottleLatest运算符。请检查它是否符合您的预期行为。 -
不完全是,但是,在查看了这些 javadocs 之后,我意识到
throttleFirst是我想要的。其他文档有点不对,reactivex.io/documentation/operators/sample.htmlgithub.com/ReactiveX/RxJava/wiki/Filtering-Observables -
是的,文档/wiki 有点过时了,请务必先咨询 javadoc。
标签: rx-java rx-java2 rx-android