【发布时间】:2020-04-17 01:44:37
【问题描述】:
我需要并行运行 2 个协程并等待它们完成后再继续。下面的代码有效,但它使用GlobalScope,这不是最好的方法。
有没有更好的办法?
fun getInfo(onSuccess: () -> Unit, onError: () -> Unit) {
GlobalScope.launch(Dispatchers.IO) {
try {
coroutineScope {
launch { getOne() }
launch { getTwo() }
}
onSuccess.invoke()
} catch (e: Throwable) {
onError.invoke()
}
}
}
【问题讨论】: