Promise

trait Promise[T]

Promise is an object which can be completed with a value or failed with an exception.

A promise should always eventually be completed, whether for success or failure, in order to avoid unintended resource retention for any associated Futures' callbacks or transformations.

Companion
object
Source
Promise.scala
class Object
trait Matchable
class Any

Value members

Abstract methods

def future: Future[T]

Future containing the value of this promise.

Future containing the value of this promise.

Source
Promise.scala

Returns whether the promise has already been completed with a value or an exception.

Returns whether the promise has already been completed with a value or an exception.

Note: Using this method may result in non-deterministic concurrent programs.

Returns

true if the promise is already completed, false otherwise

Source
Promise.scala
def tryComplete(result: Try[T]): Boolean

Tries to complete the promise with either a value or the exception.

Tries to complete the promise with either a value or the exception.

Note: Using this method may result in non-deterministic concurrent programs.

Returns

If the promise has already been completed returns false, or true otherwise.

Source
Promise.scala

Concrete methods

def complete(result: Try[T]): Promise[T]

Completes the promise with either an exception or a value.

Completes the promise with either an exception or a value.

Value Params
result

Either the value or the exception to complete the promise with. If the promise has already been fulfilled, failed or has timed out, calling this method will throw an IllegalStateException.

Source
Promise.scala
def completeWith(other: Future[T]): Promise[T]

Completes this promise with the specified future, once that future is completed.

Completes this promise with the specified future, once that future is completed.

Returns

This promise

Source
Promise.scala
def failure(cause: Throwable): Promise[T]

Completes the promise with an exception.

Completes the promise with an exception.

Value Params
cause

The throwable to complete the promise with. If the throwable used to fail this promise is an error, a control exception or an interrupted exception, it will be wrapped as a cause within an ExecutionException which will fail the promise. If the promise has already been fulfilled, failed or has timed out, calling this method will throw an IllegalStateException.

Source
Promise.scala
def success(value: T): Promise[T]

Completes the promise with a value.

Completes the promise with a value.

Value Params
value

The value to complete the promise with. If the promise has already been fulfilled, failed or has timed out, calling this method will throw an IllegalStateException.

Source
Promise.scala

Tries to complete the promise with an exception.

Tries to complete the promise with an exception.

Note: Using this method may result in non-deterministic concurrent programs.

Returns

If the promise has already been completed returns false, or true otherwise.

Source
Promise.scala
def trySuccess(value: T): Boolean

Tries to complete the promise with a value.

Tries to complete the promise with a value.

Note: Using this method may result in non-deterministic concurrent programs.

Returns

If the promise has already been completed returns false, or true otherwise.

Source
Promise.scala

Deprecated methods

@deprecated("Since this method is semantically equivalent to `completeWith`, use that instead.", "2.13.0")
final def tryCompleteWith(other: Future[T]): Promise[T]

Attempts to complete this promise with the specified future, once that future is completed.

Attempts to complete this promise with the specified future, once that future is completed.

Returns

This promise

Deprecated
Source
Promise.scala