Spring reactor - 无需等待结果的延迟触发方法

问题描述

在我的 spring webflux 中,我想创建一个方法 mainFlow(),它从 getToAddress() 方法返回电子邮件地址。每次有人执行 mainFlow() 时,我希望它以 5 秒的延迟触发方法 sendEmail() 的执行。我不想等待 sendEmail 的结果,我只想在 mainFlow 旁边执行它。怎么做?

我可以在单独的线程上触发函数,还是应该创建某种阻塞的 quqeue 及其使用者才能执行此操作?

fun mainFlow(): Mono<String> {
  return getToAddress()
      .doOnNext{
      // I want the getToAddress() result to be immediately return + I want the sendEmail message to be executed with 5 seconds delay
         sendEmail(it)
      }

}


private fun getToAddress(): Mono<String> {
      ...
    

private fun sendEmail(toAddress: String): Mono<Void> {
      ...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)