Sergei, Why should this method be a part of the future API? The only implementation will do "return func(this);"
I can achieve the same result the following way: rx(compute.runAsync(runnable)).timeout(5_000).subscribe(); 2017-03-27 15:54 GMT+03:00 Sergei Egorov <bsid...@gmail.com>: > Take a look at my initial code. > > public <T> IgniteFuture<T> chain(IgniteClosure<? super > IgniteFuture<V>, T> doneCb); > > vs > > public <R> R to(IgniteClosure<? super IgniteFuture<V>, R> transformer); > > > The result of "chain" is IgniteFuture. > > The result of "to" is the object returned from transformer. It would > be CompletableFuture, Rx's Observable, Reactor's Mono, etc... > > > On Mon, Mar 27, 2017 at 3:18 PM Дмитрий Рябов <somefire...@gmail.com> > wrote: > > > Em... When you get result of your future, closure will produce new future > > with completely different type. > > > > 2017-03-27 13:43 GMT+03:00 Sergei Egorov <bsid...@gmail.com>: > > > > > It doesn't :) > > > > > > It returns another IgniteFuture where I want to transform it to > > completely > > > different type. > > > > > > On Mon, Mar 27, 2017 at 1:41 PM Дмитрий Рябов <somefire...@gmail.com> > > > wrote: > > > > > > > IgniteFuture have method > > > > > > > > public <T> IgniteFuture<T> chain(IgniteClosure<? super > IgniteFuture<V>, > > > T> > > > > doneCb); > > > > > > > > which do this. > > > > > > > > 2017-03-27 13:30 GMT+03:00 Sergei Egorov <bsid...@gmail.com>: > > > > > > > > > Hi! > > > > > > > > > > Would be nice if igniteFuture would provide a small but very usable > > > > method: > > > > > > > > > > public <R> R to(Function<IgniteFuture<T>, R> transformer) > > > > > > > > > > it will allow to chain it like: > > > > > > > > > > compute.runAsync(runnable).to(rx()).timeout(5_000).subscribe() > > > > > > > > > > Where rx() is just a static function with something like: > > > > > > > > > > public static <T> Function<IgniteFuture<T>, Observable<T>> rx() > > > > > > > > > > > > > > > WDYT? > > > > > > > > > > > > > > > > > 2017-03-27 13:30 GMT+03:00 Sergei Egorov <bsid...@gmail.com>: > > > > > > > > > Hi! > > > > > > > > > > Would be nice if igniteFuture would provide a small but very usable > > > > method: > > > > > > > > > > public <R> R to(Function<IgniteFuture<T>, R> transformer) > > > > > > > > > > it will allow to chain it like: > > > > > > > > > > compute.runAsync(runnable).to(rx()).timeout(5_000).subscribe() > > > > > > > > > > Where rx() is just a static function with something like: > > > > > > > > > > public static <T> Function<IgniteFuture<T>, Observable<T>> rx() > > > > > > > > > > > > > > > WDYT? > > > > > > > > > > > > > > >