Возможно ли «инвертировать» будущее Scala?Invert a Scala Future
Иногда результат Будущего, являющегося Успехом, означает ошибку. В этом случае было бы неплохо перевернуть Будущее, то есть вызвать функцию, которая возвращает Будущее, которая преуспевает с указанным значением, если исходное Будущее выходит из строя и терпит неудачу с указанной ошибкой, если исходное Будущее будет успешным.
def flip[T](original: Future[T])(value: => T)(error: Throwable): Future[T] = ???
Не могли бы вы привести пример, когда успех означает ошибку? – LuxuryMode
Какой вариант использования этой функции? –
позволяет сказать, что я пишу службу, которая создает что-то только в том случае, если она еще не существует ... если она существует, я получаю сообщение об ошибке, если нет - я приступаю к результату. (Я думаю, мне, возможно, придется связать его и с другим будущим) – Developer