首页 > 解决方案 > 如何在 if-else 场景中链接反应式 Mono(s)

问题描述

这里是 Reactive Java 的新手。有人可以帮忙解决这个简单的场景(用 Kotlin 编写):

    fun testReactive(): Int {
      Mono.just("item-exists-in-database")
        .onErrorReturn("item-missing") // if item is not in database an exception will be thrown
        .map { item ->
            if (item == "item-exists-in-database") {
                Mono.just("deleting")
                    .doOnSuccess { println("deleting item") } // <-- this never prints!
            } else {
                Mono.just("ok")
            }
        }.map {
            println("Creating item in database")
            Mono.just("creating item in database")
        }.block()
      return 0
}

运行它会产生:

在数据库中创建项目

为什么不打印“删除项目”行?

标签: kotlinreactive-programmingproject-reactor

解决方案



推荐阅读