Skip to content

3.x: Update withLatestFrom doc about upstream early complete #7289

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 5, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions src/main/java/io/reactivex/rxjava3/core/Flowable.java
Original file line number Diff line number Diff line change
Expand Up @@ -19233,6 +19233,13 @@ public final <U, V> Flowable<Flowable<T>> window(
/**
* Merges the specified {@link Publisher} into the current {@code Flowable} sequence by using the {@code resultSelector}
* function only when the current {@code Flowable} (this instance) emits an item.
*
* <p>Note that this operator doesn't emit anything until the other source has produced at
* least one value. The resulting emission only happens when the current {@code Flowable} emits (and
* not when the other source emits, unlike combineLatest).
* If the other source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before the other source has produced at least one value, the sequence completes
* without emission.
* <p>
* <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/withLatestFrom.v3.png" alt="">
*
Expand Down Expand Up @@ -19277,6 +19284,8 @@ public final <U, V> Flowable<Flowable<T>> window(
* least one value. The resulting emission only happens when the current {@code Flowable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
*
* <dl>
* <dt><b>Backpressure:</b></dt>
Expand Down Expand Up @@ -19317,6 +19326,8 @@ public final <U, V> Flowable<Flowable<T>> window(
* least one value. The resulting emission only happens when the current {@code Flowable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
*
* <dl>
* <dt><b>Backpressure:</b></dt>
Expand Down Expand Up @@ -19362,6 +19373,8 @@ public final <U, V> Flowable<Flowable<T>> window(
* least one value. The resulting emission only happens when the current {@code Flowable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
*
* <dl>
* <dt><b>Backpressure:</b></dt>
Expand Down Expand Up @@ -19411,6 +19424,8 @@ public final <U, V> Flowable<Flowable<T>> window(
* least one value. The resulting emission only happens when the current {@code Flowable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
*
* <dl>
* <dt><b>Backpressure:</b></dt>
Expand Down Expand Up @@ -19445,6 +19460,8 @@ public final <U, V> Flowable<Flowable<T>> window(
* least one value. The resulting emission only happens when the current {@code Flowable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
*
* <dl>
* <dt><b>Backpressure:</b></dt>
Expand Down
17 changes: 17 additions & 0 deletions src/main/java/io/reactivex/rxjava3/core/Observable.java
Original file line number Diff line number Diff line change
Expand Up @@ -16074,6 +16074,13 @@ public final <U, V> Observable<Observable<T>> window(
/**
* Merges the specified {@link ObservableSource} into the current {@code Observable} sequence by using the {@code resultSelector}
* function only when the current {@code Observable} emits an item.
*
* <p>Note that this operator doesn't emit anything until the other source has produced at
* least one value. The resulting emission only happens when the current {@code Observable} emits (and
* not when the other source emits, unlike combineLatest).
* If the other source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before the other source has produced at least one value, the sequence completes
* without emission.
* <p>
* <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/withLatestFrom.v3.png" alt="">
*
Expand Down Expand Up @@ -16112,6 +16119,8 @@ public final <U, R> Observable<R> withLatestFrom(@NonNull ObservableSource<? ext
* least one value. The resulting emission only happens when the current {@code Observable} emits (and
* not when any of the other sources emit, unlike {@code combineLatest}).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
* <p>
* <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/withLatestFrom.v3.png" alt="">
* <dl>
Expand Down Expand Up @@ -16150,6 +16159,8 @@ public final <T1, T2, R> Observable<R> withLatestFrom(
* least one value. The resulting emission only happens when the current {@code Observable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
* <p>
* <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/withLatestFrom.v3.png" alt="">
* <dl>
Expand Down Expand Up @@ -16192,6 +16203,8 @@ public final <T1, T2, T3, R> Observable<R> withLatestFrom(
* least one value. The resulting emission only happens when the current {@code Observable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
* <p>
* <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/withLatestFrom.v3.png" alt="">
* <dl>
Expand Down Expand Up @@ -16238,6 +16251,8 @@ public final <T1, T2, T3, T4, R> Observable<R> withLatestFrom(
* least one value. The resulting emission only happens when the current {@code Observable} emits (and
* not when any of the other sources emit, unlike combineLatest).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
* <p>
* <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/withLatestFrom.v3.png" alt="">
* <dl>
Expand Down Expand Up @@ -16269,6 +16284,8 @@ public final <R> Observable<R> withLatestFrom(@NonNull ObservableSource<?>[] oth
* least one value. The resulting emission only happens when the current {@code Observable} emits (and
* not when any of the other sources emit, unlike {@code combineLatest}).
* If a source doesn't produce any value and just completes, the sequence is completed immediately.
* If the upstream completes before all other sources have produced at least one value, the sequence completes
* without emission.
* <p>
* <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/withLatestFrom.v3.png" alt="">
* <dl>
Expand Down