首先需要verify()
,如果一切正常,则调用get(id)
方法来获取实体,否则不需要调用get(id)
。如何编写方法verifyThenGet(id)
的代码?
fun verifyThenGet(id: Int) : Mono<MyEntity> {
return verify().then(get(id)) // also invoke get(id) even verify failed
}
// return Mono.empty() if success to verify,
// otherwise return Mono.error(TheException())
fun verify() : Mono<Void>
// get the entiry
fun get(id: Int) : Mono<MyEntity>
答案 0 :(得分:-1)
给出您对代码的注释,看来您的verify
方法应具有以下签名:
fun verify(): Unit
通常在Kotlin中,您只会抛出Exception
而不是返回错误(也许您有自己的错误类型要返回?在这种情况下,如果您确实想要,可以返回MyError?
)
get
应该看起来像这样:
fun get(id: Int): MyEntity?
类型名称末尾的?
表示返回值是可选的,因此它可能是null
。
将verify
与您的get
函数结合起来很简单:
fun verifyThenGet(id: Int): MyEntity? {
verify()
return get(id)
}