如何将暂停函数作为参数传递给另一个函数?Kotlin协程

Nur*_*lov 2 kotlin-coroutines

我想将暂停功能作为参数发送,但是它显示“修饰符'suspend'不适用于'value参数'。怎么做?

fun MyModel.onBG(suspend bar: () -> Unit) {
  launch {
    withContext(Dispatchers.IO) {
        bar()
    }

  }
}
Run Code Online (Sandbox Code Playgroud)

Nur*_*lov 7

Lambda的suspend修饰符应放在冒号后面,而不是前面。例:

fun MyModel.onBG(bar: suspend () -> Unit) {
  launch {
    withContext(Dispatchers.IO) {
      bar()
    }
  }
}
Run Code Online (Sandbox Code Playgroud)