combineLatest<T, R> method

Observable<R> combineLatest<T, R>(
  1. Iterable<Stream<T>> streams,
  2. R combiner(
    1. List<T> values

Merges the given Streams into one Observable sequence by using the combiner function whenever any of the observable sequences emits an item. This is helpful when you need to combine a dynamic number of Streams.

The Observable will not emit any lists of values until all of the source streams have emitted at least one value.

Interactive marble diagram


Observable.combineLatest([ new Observable.just("a"), new Observable.fromIterable("b", "c", "d") ], (list) => list.join()) .listen(print); // prints "ab", "ac", "ad"


static Observable<R> combineLatest<T, R>(
        Iterable<Stream<T>> streams, R combiner(List<T> values)) =>
    Observable<R>(CombineLatestStream<T, R>(streams, combiner));