是否可以从另一个 lambda 调用一个 lambda?

Is it possible to call a lambda from another lambda?

我正在尝试以这种方式从另一个 lambda 调用一个 lambda:

fun fetch(
  onSuccess: (result: Any, onSet: () -> Unit) -> Unit
) {
  remoteConfigInstance.fetchAndActivate()
    .addOnCompleteListener { task ->
      if (task.isSuccessful) onSuccess(task.result, ()) // <- Here is the issue 
    }
}

我尝试像这样调用 onSet lambda 时出错。有解决这个问题的正确方法吗?

问题只是 () 不是 lambda。将其替换为 {}

指出的答案是完全正确的,作为改进代码的潜在方法,请考虑以下选项:

fun fetch(
        onSuccess: (result: Any, onSet: (() -> Unit)? ) -> Unit) {
        remoteConfigInstance.fetchAndActivate()
            .addOnCompleteListener { task ->
            if (task.isSuccessful) onSuccess(task.result, null) // <- here you can now pass null, instead of an actual empty lambda
            }
    }

如果您不想做任何事情,它允许您改为使用 null