@@ -8035,25 +8035,19 @@ public final <U> Flowable<T> debounce(Function<? super T, ? extends Publisher<U>
8035
8035
* will be emitted by the resulting Publisher.
8036
8036
* <p>
8037
8037
* <img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/debounce.png" alt="">
8038
- * <p>
8039
- * Information on debounce vs throttle:
8040
- * <ul>
8041
- * <li><a href="http://drupalmotion.com/article/debounce-and-throttle-visual-explanation">Debounce and Throttle: visual explanation</a></li>
8042
- * <li><a href="http://unscriptable.com/2009/03/20/debouncing-javascript-methods/">Debouncing: javascript methods</a></li>
8043
- * <li><a href="http://www.illyriad.co.uk/blog/index.php/2011/09/javascript-dont-spam-your-server-debounce-and-throttle/">Javascript - don't spam your server: debounce and throttle</a></li>
8044
- * </ul>
8045
8038
* <dl>
8046
8039
* <dt><b>Backpressure:</b></dt>
8047
8040
* <dd>This operator does not support backpressure as it uses time to control data flow.</dd>
8048
8041
* <dt><b>Scheduler:</b></dt>
8049
- * <dd>This version of {@code debounce} operates by default on the {@code computation} {@link Scheduler}.</dd>
8042
+ * <dd>{@code debounce} operates by default on the {@code computation} {@link Scheduler}.</dd>
8050
8043
* </dl>
8051
8044
*
8052
8045
* @param timeout
8053
- * the time each item has to be "the most recent" of those emitted by the source Publisher to
8054
- * ensure that it's not dropped
8046
+ * the length of the window of time that must pass after the emission of an item from the source
8047
+ * Publisher in which that Publisher emits no items in order for the item to be emitted by the
8048
+ * resulting Publisher
8055
8049
* @param unit
8056
- * the {@link TimeUnit} for the timeout
8050
+ * the unit of time for the specified {@code timeout}
8057
8051
* @return a Flowable that filters out items from the source Publisher that are too quickly followed by
8058
8052
* newer items
8059
8053
* @see <a href="http://reactivex.io/documentation/operators/debounce.html">ReactiveX operators documentation: Debounce</a>
@@ -8076,13 +8070,6 @@ public final Flowable<T> debounce(long timeout, TimeUnit unit) {
8076
8070
* will be emitted by the resulting Publisher.
8077
8071
* <p>
8078
8072
* <img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/debounce.s.png" alt="">
8079
- * <p>
8080
- * Information on debounce vs throttle:
8081
- * <ul>
8082
- * <li><a href="http://drupalmotion.com/article/debounce-and-throttle-visual-explanation">Debounce and Throttle: visual explanation</a></li>
8083
- * <li><a href="http://unscriptable.com/2009/03/20/debouncing-javascript-methods/">Debouncing: javascript methods</a></li>
8084
- * <li><a href="http://www.illyriad.co.uk/blog/index.php/2011/09/javascript-dont-spam-your-server-debounce-and-throttle/">Javascript - don't spam your server: debounce and throttle</a></li>
8085
- * </ul>
8086
8073
* <dl>
8087
8074
* <dt><b>Backpressure:</b></dt>
8088
8075
* <dd>This operator does not support backpressure as it uses time to control data flow.</dd>
@@ -8094,7 +8081,7 @@ public final Flowable<T> debounce(long timeout, TimeUnit unit) {
8094
8081
* the time each item has to be "the most recent" of those emitted by the source Publisher to
8095
8082
* ensure that it's not dropped
8096
8083
* @param unit
8097
- * the unit of time for the specified timeout
8084
+ * the unit of time for the specified {@code timeout}
8098
8085
* @param scheduler
8099
8086
* the {@link Scheduler} to use internally to manage the timers that handle the timeout for each
8100
8087
* item
@@ -15774,20 +15761,14 @@ public final Flowable<T> throttleLatest(long timeout, TimeUnit unit, Scheduler s
15774
15761
}
15775
15762
15776
15763
/**
15777
- * Returns a Flowable that only emits those items emitted by the source Publisher that are not followed
15778
- * by another emitted item within a specified time window.
15764
+ * Returns a Flowable that mirrors the source Publisher, except that it drops items emitted by the
15765
+ * source Publisher that are followed by newer items before a timeout value expires. The timer resets on
15766
+ * each emission (alias to {@link #debounce(long, TimeUnit)}).
15779
15767
* <p>
15780
- * <em>Note:</em> If the source Publisher keeps emitting items more frequently than the length of the time
15781
- * window then no items will be emitted by the resulting Publisher.
15768
+ * <em>Note:</em> If items keep being emitted by the source Publisher faster than the timeout then no items
15769
+ * will be emitted by the resulting Publisher.
15782
15770
* <p>
15783
15771
* <img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleWithTimeout.png" alt="">
15784
- * <p>
15785
- * Information on debounce vs throttle:
15786
- * <ul>
15787
- * <li><a href="http://drupalmotion.com/article/debounce-and-throttle-visual-explanation">Debounce and Throttle: visual explanation</a></li>
15788
- * <li><a href="http://unscriptable.com/2009/03/20/debouncing-javascript-methods/">Debouncing: javascript methods</a></li>
15789
- * <li><a href="http://www.illyriad.co.uk/blog/index.php/2011/09/javascript-dont-spam-your-server-debounce-and-throttle/">Javascript - don't spam your server: debounce and throttle</a></li>
15790
- * </ul>
15791
15772
* <dl>
15792
15773
* <dt><b>Backpressure:</b></dt>
15793
15774
* <dd>This operator does not support backpressure as it uses time to control data flow.</dd>
@@ -15800,8 +15781,9 @@ public final Flowable<T> throttleLatest(long timeout, TimeUnit unit, Scheduler s
15800
15781
* Publisher in which that Publisher emits no items in order for the item to be emitted by the
15801
15782
* resulting Publisher
15802
15783
* @param unit
15803
- * the {@link TimeUnit} of {@code timeout}
15804
- * @return a Flowable that filters out items that are too quickly followed by newer items
15784
+ * the unit of time for the specified {@code timeout}
15785
+ * @return a Flowable that filters out items from the source Publisher that are too quickly followed by
15786
+ * newer items
15805
15787
* @see <a href="http://reactivex.io/documentation/operators/debounce.html">ReactiveX operators documentation: Debounce</a>
15806
15788
* @see <a href="https://github.com/ReactiveX/RxJava/wiki/Backpressure">RxJava wiki: Backpressure</a>
15807
15789
* @see #debounce(long, TimeUnit)
@@ -15814,21 +15796,14 @@ public final Flowable<T> throttleWithTimeout(long timeout, TimeUnit unit) {
15814
15796
}
15815
15797
15816
15798
/**
15817
- * Returns a Flowable that only emits those items emitted by the source Publisher that are not followed
15818
- * by another emitted item within a specified time window, where the time window is governed by a specified
15819
- * Scheduler.
15799
+ * Returns a Flowable that mirrors the source Publisher, except that it drops items emitted by the
15800
+ * source Publisher that are followed by newer items before a timeout value expires on a specified
15801
+ * Scheduler. The timer resets on each emission (alias to {@link #debounce(long, TimeUnit, Scheduler)}).
15820
15802
* <p>
15821
- * <em>Note:</em> If the source Publisher keeps emitting items more frequently than the length of the time
15822
- * window then no items will be emitted by the resulting Publisher.
15803
+ * <em>Note:</em> If items keep being emitted by the source Publisher faster than the timeout then no items
15804
+ * will be emitted by the resulting Publisher.
15823
15805
* <p>
15824
15806
* <img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleWithTimeout.s.png" alt="">
15825
- * <p>
15826
- * Information on debounce vs throttle:
15827
- * <ul>
15828
- * <li><a href="http://drupalmotion.com/article/debounce-and-throttle-visual-explanation">Debounce and Throttle: visual explanation</a></li>
15829
- * <li><a href="http://unscriptable.com/2009/03/20/debouncing-javascript-methods/">Debouncing: javascript methods</a></li>
15830
- * <li><a href="http://www.illyriad.co.uk/blog/index.php/2011/09/javascript-dont-spam-your-server-debounce-and-throttle/">Javascript - don't spam your server: debounce and throttle</a></li>
15831
- * </ul>
15832
15807
* <dl>
15833
15808
* <dt><b>Backpressure:</b></dt>
15834
15809
* <dd>This operator does not support backpressure as it uses time to control data flow.</dd>
@@ -15841,11 +15816,12 @@ public final Flowable<T> throttleWithTimeout(long timeout, TimeUnit unit) {
15841
15816
* Publisher in which that Publisher emits no items in order for the item to be emitted by the
15842
15817
* resulting Publisher
15843
15818
* @param unit
15844
- * the {@link TimeUnit} of {@code timeout}
15819
+ * the unit of time for the specified {@code timeout}
15845
15820
* @param scheduler
15846
15821
* the {@link Scheduler} to use internally to manage the timers that handle the timeout for each
15847
15822
* item
15848
- * @return a Flowable that filters out items that are too quickly followed by newer items
15823
+ * @return a Flowable that filters out items from the source Publisher that are too quickly followed by
15824
+ * newer items
15849
15825
* @see <a href="http://reactivex.io/documentation/operators/debounce.html">ReactiveX operators documentation: Debounce</a>
15850
15826
* @see <a href="https://github.com/ReactiveX/RxJava/wiki/Backpressure">RxJava wiki: Backpressure</a>
15851
15827
* @see #debounce(long, TimeUnit, Scheduler)
0 commit comments