【发布时间】:2019-08-07 12:55:25
【问题描述】:
我正在尝试使用 Kotlin 的 [Result][1] 类型。尽管在成功的情况下它不会返回任何值。我无法让它返回值。以下行给我带来了麻烦:complete(Result.success())。它不编译。我尝试了Result<Void> 和Result<Nothing>,但无法正常工作。
关于如何使它工作的任何建议?
package me.test.app
import android.util.Log
class Test {
fun foo(complete: (Result<Nothing>) -> Unit) {
if (Math.random() > 0.5) {
complete(Result.success())
} else {
complete(Result.failure(Throwable("too low")))
}
}
fun bar() {
foo { result ->
result.fold({
Log.i("APP", "Success")
})
{
Log.i("APP", "Failure")
}
}
}
}
【问题讨论】: