Kotlin 如何切换单声道<;A>;。empty()到另一种类型的项目Mono<;B>;

Kotlin 如何切换单声道<;A>;。empty()到另一种类型的项目Mono<;B>;,kotlin,project-reactor,Kotlin,Project Reactor,按照下面的kotlin代码,我需要使用EMPTY_a来切换Mono只能切换到另一个原始类型的项目。 有什么想法吗 遵循@ArtemBilan的建议,经过一些测试,我找到了解决方案: fun get(id: Int): Mono<A> { return getA(id) .transform { if (it == Mono.empty<A>()) getB(id).map { convertB2A(it) } else it

按照下面的kotlin代码,我需要使用
EMPTY_a
来切换
Mono只能切换到另一个原始类型的项目。

有什么想法吗

遵循@ArtemBilan的建议,经过一些测试,我找到了解决方案:

fun get(id: Int): Mono<A> {
  return getA(id) 
    .transform {
      if (it == Mono.empty<A>()) getB(id).map { convertB2A(it) }
      else it 
    }
}
fun get(id:Int):Mono{
返回getA(id)
.变换{
if(it==Mono.empty())getB(id).map{convertB2A(it)}
要不然
}
}
尝试
transform()
而不是
switchIfEmpty()
fun get(id: Int): Mono<A> {
  return getA(id)
    .switchIfEmpty(getB(id))
    .map { convertB2A(it) }
}
fun get(id: Int): Mono<A> {
  return getA(id) 
    .transform {
      if (it == Mono.empty<A>()) getB(id).map { convertB2A(it) }
      else it 
    }
}