我正在调查launch
协程构建器将协程代码作为block: suspend CoroutineScope.() -> Unit
。我们通常将代码作为 lambda 传递。但是,我想知道如何将此函数作为显式参数传递给启动函数。
coroutineScope {
launch(block = ::myFunction)
}
suspend fun CoroutineScope.myFunction(): Unit {
// coroutine code
}
它给出以下错误
Type mismatch.
Required:
suspend CoroutineScope.() → Unit
Found:
KSuspendFunction0<Unit>
我缺少什么?
扩展函数引用的语法与成员函数相同:
launch(block = CoroutineScope::myFunction)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)