src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @NonNull
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Flowable<R> concatMapEager(Function<? super T, ? extends Publisher<? 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 FlowableConcatMapEager<T, R>(this, mapper, maxConcurrency, prefetch, ErrorMode.IMMEDIATE));
    }
@CheckReturnValue
    @NonNull
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Flowable<R> concatMapEager(Function<? super T, ? extends Publisher<? 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 FlowableConcatMapEager<T, R>(this, mapper, maxConcurrency, prefetch, ErrorMode.IMMEDIATE));
    }
@ CheckReturnValue @ NonNull @ BackpressureSupport ( BackpressureKind . FULL ) @ SchedulerSupport ( SchedulerSupport . NONE ) public final < R > Flowable < R > concatMapEager ( Function < ? super T , ? extends Publisher < ? 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 FlowableConcatMapEager < T , R > ( this , mapper , maxConcurrency , prefetch , ErrorMode . IMMEDIATE ) ) ; }
Maps a sequence of values into Publishers and concatenates these Publishers eagerly into a single
Publisher.
<p>
Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the
source Publishers. The operator buffers the values emitted by these Publishers and then drains them in
order, each one after the previous one completes.
<dl>
<dt><b>Backpressure:</b></dt>
<dd>Backpressure is honored towards the downstream, however, due to the eagerness requirement, sources
are subscribed to in unbounded mode and their values are queued up in an unbounded buffer.</dd>
<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 Publishers that will be
eagerly concatenated
@param maxConcurrency the maximum number of concurrent subscribed Publishers
@param prefetch hints about the number of expected values from each inner Publisher, must be positive
@return the new Publisher instance with the specified concatenation behavior
@since 2.0
Maps a sequence of values into Publishers and concatenates these Publishers eagerly into a single Publisher . <p > Eager concatenation means that once a subscriber subscribes this operator subscribes to all of the source Publishers . The operator buffers the values emitted by these Publishers and then drains them in order each one after the previous one completes . <dl > <dt > <b > Backpressure : < / b > < / dt > <dd > Backpressure is honored towards the downstream however due to the eagerness requirement sources are subscribed to in unbounded mode and their values are queued up in an unbounded buffer . < / dd > <dt > <b > Scheduler : < / b > < / dt > <dd > This method does not operate by default on a particular {