Знание всего статуса работы с Kotlin сопрограмм - PullRequest
2 голосов
/ 11 февраля 2020

Возможно ли узнать весь статус задания сопрограммы?

Я нахожу это расширение функции, но не могу получить доступ ко всем статусам Job:

fun Job.status(): String = when {
    isCancelled -> "cancelled"
    isActive -> "Active"
    isCompleted -> "Complete"
    else -> "Nothing"
}

Нет функции isNew, isCancelling или isWaitingForChildren с классом Job. Почему?

enter image description here

1 Ответ

1 голос
/ 11 февраля 2020

Благодаря Drawn Roccoon я нашел решение:

fun Job.status(): String = when {
    isActive -> "Active/Completing"
    isCompleted && isCancelled -> "Cancelled"
    isCancelled -> "Cancelling"
    isCompleted -> "Completed"
    else -> "New"
}

enter image description here

Больше информации по этой ссылке: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-job/

...