TL DR Usage:Future.reduce(futures)(_ + _)
- Traversable#reduce Future#reduce. , .
Traversable#reduce , : Tuple2[Future[Int], Future[Int]] => Future[Int].
, Future#reduce , . : Tuple2[Int, Int] => Int. .
Traversable#reduce:
val futures = List(TestFuture2.bigCalc, TestFuture2.bigCalc, TestFuture2.bigCalc, TestFuture2.bigCalc, TestFuture2.bigCalc)
val reduced = futures.reduce((first: Future[Int], second: Future[Int]) => first.flatMap(firstResult => second.map(secondResult => secondResult + firstResult)))
Future#reduce:
val futures = List(TestFuture2.bigCalc, TestFuture2.bigCalc, TestFuture2.bigCalc, TestFuture2.bigCalc, TestFuture2.bigCalc)
val reduced = Future.reduce(futures)((first: Int, second: Int) => first + second)
Future#sequence, , Future#reduce . ? , . . , Future#reduce.