@SuppressWarnings({ "cast", "unchecked" })
    @CheckReturnValue
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public static <T> Flowable<T> fromFuture(Future<? extends T> future, Scheduler scheduler) {
        ObjectHelper.requireNonNull(scheduler, "scheduler is null");
        return fromFuture((Future<T>)future).subscribeOn(scheduler);
    }
@ SuppressWarnings ( { "cast" , "unchecked" } ) @ CheckReturnValue @ BackpressureSupport ( BackpressureKind . FULL ) @ SchedulerSupport ( SchedulerSupport . CUSTOM ) public static < T > Flowable < T > fromFuture ( Future < ? extends T > future , Scheduler scheduler ) { ObjectHelper . requireNonNull ( scheduler , "scheduler is null" ) ; return fromFuture ( ( Future < T > ) future ) . subscribeOn ( scheduler ) ; }
Converts a {@link Future}, operating on a specified {@link Scheduler}, into a Publisher.
<p>
<img width="640" height="315" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/from.Future.s.png" alt="">
<p>
You can convert any object that supports the {@link Future} interface into a Publisher that emits the
return value of the {@link Future#get} method of that object by passing the object into the {@code from}
method.
<p>
Unlike 1.x, canceling the Flowable won't cancel the future. If necessary, one can use composition to achieve the
cancellation effect: {@code futurePublisher.doOnCancel(() -> future.cancel(true));}.
<dl>
<dt><b>Backpressure:</b></dt>
<dd>The operator honors backpressure from downstream.</dd>
<dt><b>Scheduler:</b></dt>
<dd>You specify which {@link Scheduler} this operator will use.</dd>
</dl>

@param future
the source {@link Future}
@param scheduler
the {@link Scheduler} to wait for the Future on. Use a Scheduler such as
{@link Schedulers#io()} that can block and wait on the Future
@param <T>
the type of object that the {@link Future} returns, and also the type of item to be emitted by
the resulting Publisher
@return a Flowable that emits the item from the source {@link Future}
@see <a href="http://reactivex.io/documentation/operators/from.html">ReactiveX operators documentation: From</a>