Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!

Итак я постарался описать монадные функции Future, и лично я считаю, что мне удалось.
longComputations1() zip longComputations2() zip longComputations3() map {
case ((a, b), c) => a * b * c
}
Tuple2[Tuple2[T, U], S]Tuple3[T, U, S]?val f1 = Future(5)
val f2 = Future(6)
val f3 = Future(7)
Future.sequence(List(f1, f2, f3)) map (_.foldLeft(1)((a, c) => a * c)) foreach println
val f1 <- longComputations1()
Back to the Scala Future