Kotlin Webflux不使用.block()保存到存储库

Kotlin Webflux不使用.block()保存到存储库,kotlin,spring-webflux,Kotlin,Spring Webflux,我的服务中有以下方法: override fun enableDisable(id: String, active: Boolean) = tryCatch( repository.findById(id).let { it.map { p -> p.active = active }; repository.save(it) }, DataNotFound("Data not foun

我的服务中有以下方法:

override fun enableDisable(id: String, active: Boolean) = tryCatch(
            repository.findById(id).let {
                it.map { p -> p.active = active }; repository.save(it)
            },
            DataNotFound("Data not found"))
我有以下错误:

Need: Product
Found: Mono<Product>

它可以工作,但我读到使用
.block()
不是一种好的做法。我可以在这里使用哪种选择?

使用
flatMap
链接您的功能:


it.map{product->product.active=active}.flatMap(repository::save)
使用
flatMap
链接您的功能:

it.map{product->product.active=active}.flatMap(repository::save)

repository.save(it.block()!!)