src/main/java/io/reactivex/Observable.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Observable<R> concatMapEager(Function<? super T, ? extends ObservableSource<? extends R>> mapper,
            int maxConcurrency, int prefetch) {
        ObjectHelper.requireNonNull(mapper, "mapper is null");
        ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency");
        ObjectHelper.verifyPositive(prefetch, "prefetch");
        return RxJavaPlugins.onAssembly(new ObservableConcatMapEager<T, R>(this, mapper, ErrorMode.IMMEDIATE, maxConcurrency, prefetch));
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Observable<R> concatMapEager(Function<? super T, ? extends ObservableSource<? extends R>> mapper,
            int maxConcurrency, int prefetch) {
        ObjectHelper.requireNonNull(mapper, "mapper is null");
        ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency");
        ObjectHelper.verifyPositive(prefetch, "prefetch");
        return RxJavaPlugins.onAssembly(new ObservableConcatMapEager<T, R>(this, mapper, ErrorMode.IMMEDIATE, maxConcurrency, prefetch));
    }
@ CheckReturnValue @ SchedulerSupport ( SchedulerSupport . NONE ) public final < R > Observable < R > concatMapEager ( Function < ? super T , ? extends ObservableSource < ? extends R > > mapper , int maxConcurrency , int prefetch ) { ObjectHelper . requireNonNull ( mapper , "mapper is null" ) ; ObjectHelper . verifyPositive ( maxConcurrency , "maxConcurrency" ) ; ObjectHelper . verifyPositive ( prefetch , "prefetch" ) ; return RxJavaPlugins . onAssembly ( new ObservableConcatMapEager < T , R > ( this , mapper , ErrorMode . IMMEDIATE , maxConcurrency , prefetch ) ) ; }
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single
ObservableSource.
<p>
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the
source ObservableSources. The operator buffers the values emitted by these ObservableSources and then drains them in
order, each one after the previous one completes.
<p>
<img width="640" height="360" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapEager.o.png" alt="">
<dl>
<dt><b>Scheduler:</b></dt>
<dd>This method does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param <R> the value type
@param mapper the function that maps a sequence of values into a sequence of ObservableSources that will be
eagerly concatenated
@param maxConcurrency the maximum number of concurrent subscribed ObservableSources
@param prefetch hints about the number of expected values from each inner ObservableSource, must be positive
@return the new ObservableSource instance with the specified concatenation behavior
@since 2.0
Maps a sequence of values into ObservableSources and concatenates these ObservableSources eagerly into a single ObservableSource . <p > Eager concatenation means that once a subscriber subscribes this operator subscribes to all of the source ObservableSources . The operator buffers the values emitted by these ObservableSources and then drains them in order each one after the previous one completes . <p > <img width = 640 height = 360 src = https : // raw . github . com / wiki / ReactiveX / RxJava / images / rx - operators / concatMapEager . o . png alt = > <dl > <dt > <b > Scheduler : < / b > < / dt > <dd > This method does not operate by default on a particular {