Completes the promise with the specified value.
Completes the promise with the specified result.
Completes the promise with the specified result. If the specified promise has already been completed, the method will produce false.
Fails the promise with the specified error, which will be propagated to all fibers waiting on the value of the promise.
Retrieves the value of the promise, suspending the fiber running the action until the result is available.
Completes the promise with interruption.
Completes the promise with interruption. This will interrupt all fibers waiting on the value of the promise.
Retrieves immediately the completion of this promise if it's available,
and fails immediately with Unit
otherwise
A promise represents an asynchronous variable that can be set exactly once, with the ability for an arbitrary number of fibers to suspend (by calling
get
) and automatically resume when the variable is set.Promises can be used for building primitive actions whose completions require the coordinated action of multiple fibers, and for building higher-level concurrent or asynchronous structures.