The Scala Future API in the Akka Toolkit
Both the Akka Toolkit and the Play Framework source code use Scala Futures extensively. The Akka Streams API also uses the Scala Future in all places.
Let's look at some Akka Streams source code examples here which are using the Scala Future API:
In the Akka Toolkit, the ask
pattern returns a Future[Any]
, shown as follows:
def ask (actorRef: ActorRef, message: Any)(implicit timeout: Timeout): Future[Any]
Observe the following Akka Streams API:
val futureResult: Future[Seq[String]] = Source(in).runWith(Sink.seq)
Here, the Souce.runWith[T]()
function returns its results as Future[T]
. Not only this function, but most of the Akka Streams API uses Scala Futures extensively. We use the Scala Future API to write some unit tests, too.
Now you get what is the importance of this Scala Future API. Please experiment with some more examples to get more familiar with it.
We will also use Scala Futures extensively in our applications in the coming chapters. Refer to them...