Run this computation to obtain an A
, then invoke the given callback.
Run this computation to obtain an A
, then invoke the given callback.
Also see runAsync
.
Run this computation to obtain an A
, so long as cancel
remains false.
Run this computation to obtain an A
, so long as cancel
remains false.
Because of trampolining, we get frequent opportunities to cancel
while stepping through the trampoline, so this should provide a fairly
robust means of cancellation.
Run this Future
and block awaiting its result.
Run this Future
and block awaiting its result.
Run this Future
, passing the result to the given callback once available.
Run this Future
, passing the result to the given callback once available.
Any pure, non-asynchronous computation at the head of this Future
will
be forced in the calling thread. At the first Async
encountered, control
switches to whatever thread backs the Async
and this function returns.
Run this computation to obtain an A
, so long as cancel
remains false.
Run this computation to obtain an A
, so long as cancel
remains false.
Because of trampolining, we get frequent opportunities to cancel
while stepping through the trampoline, this should provide a fairly
robust means of cancellation.
Begins running this Future
and returns a new future that blocks
waiting for the result.
Begins running this Future
and returns a new future that blocks
waiting for the result. Note that this results
Evaluate this Future
to a result, or another asynchronous computation.
Evaluate this Future
to a result, or another asynchronous computation.
This has the effect of stripping off any 'pure' trampolined computation at
the start of this Future
.
Like step
, but may be interrupted by setting cancel
to true.
Like step
, but may be interrupted by setting cancel
to true.
Returns a Future
which returns a TimeoutException
after timeoutInMillis
,
and attempts to cancel the running computation.
Returns a Future
which returns a TimeoutException
after timeoutInMillis
,
and attempts to cancel the running computation.
This implementation will not block the future's execution thread