Scala: ¿cómo entender el método flatMap de Try?
El método flatMap del éxito se implementa así:
def flatMap[U](f: T => Try[U]): Try[U] =
try f(value)
catch {
case NonFatal(e) => Failure(e)
}
Entiendo lo que está haciendo este método, nos ayuda a evitar escribir muchos códigos de captura.
Pero, ¿en qué sentido es similar al flatMap normal?
Un flatMap regular toma una secuencia de secuencias y coloca todos los elementos en una gran secuencia "plana".
Pero el método flatMap de Try no es realmente aplanar nada.
Entonces, ¿cómo entender el método flatMap de Try?