Futures and Promises

Futures in Scala handle asynchronous computations. A Future represents a value that may not yet exist.

Using Future

import scala.concurrent.Future
import scala.concurrent.ExecutionContext.Implicits.global

val f = Future {
  Thread.sleep(1000)
  42
}
f.map(result => println(s"Result: $result"))

Promises

import scala.concurrent.Promise
val p = Promise[Int]()
val future = p.future
p.success(42)
future.map(println)
← PrevNext →