В чем разница между map и flatMap в Scala Akka Futures?

в обычном Scala map и flatMap отличаются тем, что flatMap возвращает итерацию данных, сведенных в список. Однако в документации Akka map и flatMap, кажется, делают что-то другое?

http://akka.io/docs/akka/1.1/scala/futures.html

Он говорит: «Обычно это работает довольно хорошо, потому что означает, что выполнение быстрой функции требует очень небольших накладных расходов. Если существует вероятность того, что функция займет нетривиальное количество времени для обработки, может быть лучше, если это будет выполняться одновременно, и для этого мы используем flatMap: "

val f1 = Future {
  "Hello" + "World"
}

val f2 = f1 flatMap {x =>
  Future(x.length)
}

val result = f2.get()

Может кто-нибудь объяснить, в чем разница между map и flatMap здесь, в Akka Futures?

38
задан Phil 14 July 2011 в 04:00
поделиться