Метод FlatMap Успеха выполняется следующим образом:
def flatMap[U](f: T => Try[U]): Try[U] =
try f(value)
catch {
case NonFatal(e) => Failure(e)
}
Я понимаю, что делает этот метод, это помогает нам избежать написания большого количества ловушек.
Но в каком смысле он похож на обычную flatMap?
Регулярная flatMap берет последовательность последовательностей и помещает все элементы в одну большую "плоскую" последовательность.
Но метод FlatMap Try не совсем сглаживает что-либо.
Итак, как понять метод FlatMap Try?