gpt4 book ai didi

android - 具有泛型和 Void/Nothing 返回类型的 Kotlin 结果类型

转载 作者:行者123 更新时间:2023-12-02 12:41:29 24 4
gpt4 key购买 nike

我正在尝试使用 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")
}
}
}
}

最佳答案

您必须使用 Result<Unit> .然后您可以调用complete像这样:

complete(Result.success(Unit))

关于android - 具有泛型和 Void/Nothing 返回类型的 Kotlin 结果类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57395009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com