【发布时间】:2019-04-12 09:31:24
【问题描述】:
使用 Kotlin 1.3,可以使用 GlobalScope.launch 启动作业,但我似乎无法弄清楚的一件事是如何跟踪由 ``GlobalScope.launch` 返回的 Job 并取消所有挂起的作业,如果它们是活跃的。
在旧版本的launch 中,可以指定parent = parentJob,并且可以简单地取消parentJob。但是当使用GlobalScope.launch 时,如何(轻松)取消所有待处理的作业,所以从 ViewModel 的 onCleared 中可以取消所有待处理的东西。
【问题讨论】:
-
答案是你不应该使用
GlobalScope.launch。您必须定义自己的范围。
标签: kotlin-android-extensions kotlinx.coroutines