如何做类似 "onErrorFlatMap" 的事情并在 Spring 反应中保持 "error rail"?
How to do something like "onErrorFlatMap" and stay in "error rail" in Spring reactive?
假设 Flux 或 Mono 产生错误,我想在发生此错误时执行非阻塞副作用,例如发送电子邮件。我想要实现的是这样的:
val myMono = ..
myMono.onErrorFlatMap { throwable ->
emailService.sendEmail(...).map(throwable)
}
我想在电子邮件发送后继续 "error rail",即不使用 onErrorResume(..)
之类的东西恢复。我该怎么做?
onErrorResume
仍然是首选方式:
mono.onErrorResume(e -> emailService.sendEmail(...)
.then(Mono.error(e))
);
假设 Flux 或 Mono 产生错误,我想在发生此错误时执行非阻塞副作用,例如发送电子邮件。我想要实现的是这样的:
val myMono = ..
myMono.onErrorFlatMap { throwable ->
emailService.sendEmail(...).map(throwable)
}
我想在电子邮件发送后继续 "error rail",即不使用 onErrorResume(..)
之类的东西恢复。我该怎么做?
onErrorResume
仍然是首选方式:
mono.onErrorResume(e -> emailService.sendEmail(...)
.then(Mono.error(e))
);