微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。