UrK*_*UrK 3 generics android kotlin
我正在尝试使用 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")
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
你必须使用Result<Unit>. 然后你可以这样调用complete:
complete(Result.success(Unit))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1365 次 |
| 最近记录: |