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)