@@ -1101,6 +1101,32 @@ public static <T, R> Observable<R> combineLatestDelayError(Iterable<? extends Ob
1101
1101
return create(new OnSubscribeCombineLatest<T, R>(null, sources, combineFunction, RxRingBuffer.SIZE, true));
1102
1102
}
1103
1103
1104
+ /**
1105
+ * Flattens an Iterable of Observables into one Observable, one after the other, without
1106
+ * interleaving them.
1107
+ * <p>
1108
+ * <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concat.png" alt="">
1109
+ * <dl>
1110
+ * <dt><b>Backpressure:</b></dt>
1111
+ * <dd>The operator honors backpressure from downstream. The {@code Observable}
1112
+ * sources are expected to honor backpressure as well.
1113
+ * If any of the source {@code Observable}s violate this, it <em>may</em> throw an
1114
+ * {@code IllegalStateException} when the source {@code Observable} completes.</dd>
1115
+ * <dt><b>Scheduler:</b></dt>
1116
+ * <dd>{@code concat} does not operate by default on a particular {@link Scheduler}.</dd>
1117
+ * </dl>
1118
+ *
1119
+ * @param <T> the common element base type
1120
+ * @param sequences
1121
+ * the Iterable of Observables
1122
+ * @return an Observable that emits items that are the result of flattening the items emitted by the
1123
+ * Observables in the Iterable, one after the other, without interleaving them
1124
+ * @see <a href="http://reactivex.io/documentation/operators/concat.html">ReactiveX operators documentation: Concat</a>
1125
+ */
1126
+ public static <T> Observable<T> concat(Iterable<? extends Observable<? extends T>> sequences) {
1127
+ return concat(from(sequences));
1128
+ }
1129
+
1104
1130
/**
1105
1131
* Returns an Observable that emits the items emitted by each of the Observables emitted by the source
1106
1132
* Observable, one after the other, without interleaving them.
0 commit comments