Project Reactor 有类似 Mono.empty[T]() 的东西,可以在特殊情况下处理,在这种情况下你在评估它时没有任何东西。Monix Task 中有类似的东西吗?
def getItemFromList[T](inp: Mono[List[T]]): Mono[T] = {
val moList = inp.defaultIfEmpty(List[T]())
moList.flatMap[T]((list: List[T]) => {
if (list.isEmpty) Mono.empty[T]()
else Mono.just(list.head)
})
}
在这里,我试图从项目列表中提取一个项目,从数据库读取时该列表可能不存在。我不想发送像 Mono.just(List()) 这样的东西,因为这需要我在 db 调用端添加另一个空/空检查。