wan*_*adu 5 anonymous-function kotlin kotlin-coroutines
我正在研究将launch
协程代码作为block: suspend CoroutineScope.() -> Unit
. 我们通常将代码作为 lambda 传递。但是,我想知道如何将此函数作为显式参数传递给启动函数。
coroutineScope {
launch(block = ::myFunction)
}
suspend fun CoroutineScope.myFunction(): Unit {
// coroutine code
}
Run Code Online (Sandbox Code Playgroud)
它给出以下错误
Type mismatch.
Required:
suspend CoroutineScope.() ? Unit
Found:
KSuspendFunction0<Unit>
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
这条路怎么样?
coroutineScope {
launch(block = myFunction())
}
fun myFunction(): suspend CoroutineScope.() -> Unit = {
for(i in 3 downTo 1) {
println("$i")
delay(1000)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
910 次 |
最近记录: |