Как сделать что-то вроде «onErrorFlatMap» и остаться в «error rail» в Spring реагирующим? - PullRequest
0 голосов
/ 25 января 2019

Допустим, Flux или Mono выдает ошибку, и я хочу выполнить неблокирующий побочный эффект, например, отправив электронное письмо, когда эта ошибка произойдет. То, что я хотел бы достичь, это что-то вроде этого:

val myMono = ..
myMono.onErrorFlatMap { throwable ->
    emailService.sendEmail(...).map(throwable)
}

Я бы хотел продолжить работу с "ошибкой" после отправки электронного письма, т. Е. Не восстанавливаться, используя что-то вроде onErrorResume(..). Как я могу это сделать?

1 Ответ

0 голосов
/ 28 января 2019

onErrorResume по-прежнему предпочтительный путь:

mono.onErrorResume(e -> emailService.sendEmail(...)
                                    .then(Mono.error(e))
);
...