kotlin - 如何在 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
}
运行它会产生:
在数据库中创建项目
为什么不打印“删除项目”行?
解决方案
推荐阅读
- laravel - 更改刀片模板中的日期格式
- php - Woocommerce 撤消删除项目重定向
- julia - 如何轻松检查 Julia 语言中嵌入函数的实现?
- php - 从 Json 编码中删除名称
- html - 在全出血背景上创建一段白色背景
- javascript - 类型“AngularFireList<{}>”上不存在属性“地图”
- tableau-api - Tableau 中的设置操作
- rest - 如何使用 RESTful API 创建或更新多对多关系
- xml - XML with XSD - 如何连接 2+ XSD 模式并在 XML 中使用它们?
- opencv - 打开CV错误--MAC上的人脸识别