是否有可能知道协程 Job 的所有状态?
我找到了这个功能扩展,但我无法访问 Job
的所有状态:
fun Job.status(): String = when {
isCancelled -> "cancelled"
isActive -> "Active"
isCompleted -> "Complete"
else -> "Nothing"
}
没有
isNew
, isCancelling
或 isWaitingForChildren
Job
的功能类。为什么 ?最佳答案
感谢 Draw Roccoon 我找到了解决方案:
fun Job.status(): String = when {
isActive -> "Active/Completing"
isCompleted && isCancelled -> "Cancelled"
isCancelled -> "Cancelling"
isCompleted -> "Completed"
else -> "New"
}
此链接中的更多信息:https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-job/
关于kotlin - 使用 Kotlin 协程了解作业的所有状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60170920/