w normalnej mapie Scala i płaskiej mapie różnią się tym, że flatMap zwróci dane do przetłumaczenia spłaszczone na liście. Jednak w dokumentacji Akka, map i flatMap wydają się robić coś innego?W kontraktach terminowych na Scala Akka, jaka jest różnica między mapą a mapą flat?
http://akka.io/docs/akka/1.1/scala/futures.html
mówi „Zwykle to działa całkiem dobrze, ponieważ oznacza, że jest bardzo mało napowietrznych do uruchamiania funkcji szybkiego. Jeśli istnieje możliwość funkcji biorąc nietrywialne ilość czasu, aby przetwarzać może być lepiej mieć to zrobić jednocześnie, a do tego używamy flatMap:”
val f1 = Future {
"Hello" + "World"
}
val f2 = f1 flatMap {x =>
Future(x.length)
}
val result = f2.get()
Czy ktoś mógłby wyjaśnić, jaka jest różnica między mapie i flatMap tutaj kontraktami Akka?
Myślę, że to pomaga lepiej to zrozumieć - dlaczego używamy płaskiej mapy http://raichoo.blogspot.com/2011/07/from-functions-to-monads-in-scala.html – Phil