【发布时间】:2020-10-12 13:33:19
【问题描述】:
我想执行一些工作并等待结果。得到结果后,我想继续执行代码。我不想阻塞 UI 线程。
例如我想在同一个函数“doCoroutineWork”中有这个:
//PseudoCode//
fun doCoroutineWork()
{
val result = doSomeWorkInBackground
someOtherFunctionCall(result)
}
所以我想做的是在调用 doSomeWorkInBackground 时执行一些工作,等待结果,然后使用第一个结果调用新函数 someOtherFunctionCall。 最好的方法是什么?
【问题讨论】:
-
lifecycleScope.launch{ val result = withContext(Dispatchers.IO) { doSomeWorkInBackground() }; someOtherFunctionCall(result) } -
suspend fun doCoroutineWork()...您缺少suspend关键字
标签: android kotlin asynchronous kotlin-coroutines