Size: a a a

Kotlin Community

2019 November 01

VP

Vladimir Petrakovich in Kotlin Community
Vitaly Peryatin
Или внутренние скоупы уже без SupervisorJob запускают корутину?
Ну внутри-то обычные job, не supervisor
источник

VP

Vitaly Peryatin in Kotlin Community
То есть новые скоупы никак не наследуются от родительского скоупа?
источник

VP

Vladimir Petrakovich in Kotlin Community
Vitaly Peryatin
То есть новые скоупы никак не наследуются от родительского скоупа?
Они наследуются, но это не делает их всех SupervisorJob
источник

VP

Vladimir Petrakovich in Kotlin Community
Иначе в SupervisorScope всё работало бы не так, как не в SupervisorScope
источник

VP

Vitaly Peryatin in Kotlin Community
Понял
источник

VP

Vitaly Peryatin in Kotlin Community
Спасибо)
источник

I

Igor in Kotlin Community
Ребят, если сферический в вакууме CoroutineScope
Как правильно подписаться на его закрытие?
источник

КР

Кирилл Романенко in Kotlin Community
Igor
Ребят, если сферический в вакууме CoroutineScope
Как правильно подписаться на его закрытие?
Ну, ты можешь добавить к этому скоупу job и создать новый скоуп, и на job повесишь invokeOnClose.
источник

I

Igor in Kotlin Community
Кирилл Романенко
Ну, ты можешь добавить к этому скоупу job и создать новый скоуп, и на job повесишь invokeOnClose.
Можно пример кода?
источник

OY

Oleg Yukhnevich in Kotlin Community
Igor
Ребят, если сферический в вакууме CoroutineScope
Как правильно подписаться на его закрытие?
если в контексте нет job, то наверно никак
если есть, то scope.coroutineContext[Job]?.invokeOnCompletion { }
источник

VP

Vladimir Petrakovich in Kotlin Community
Oleg Yukhnevich
если в контексте нет job, то наверно никак
если есть, то scope.coroutineContext[Job]?.invokeOnCompletion { }
В CoroutineScope всегда есть Job
Так что можно заменить ? на !!
источник

OY

Oleg Yukhnevich in Kotlin Community
Vladimir Petrakovich
В CoroutineScope всегда есть Job
Так что можно заменить ? на !!
а, кстати да
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
В CoroutineScope всегда есть Job
Так что можно заменить ? на !!
В GlobalScope нету
источник

VB

Viacheslav Blinov in Kotlin Community
Vladimir Petrakovich
В CoroutineScope всегда есть Job
Так что можно заменить ? на !!
не всегда, GlobalScope не такой
источник

VP

Vladimir Petrakovich in Kotlin Community
Alexander Nozik
В GlobalScope нету
Хм, ну да 🤔
"By convention, should contain an instance of a job"
источник

КР

Кирилл Романенко in Kotlin Community
Igor
Можно пример кода?
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Хм, ну да 🤔
"By convention, should contain an instance of a job"
Ну GlobalScope по опрделению ломает structured concurrency
источник

VP

Vladimir Petrakovich in Kotlin Community
Ну тогда попытка подписаться на закрытие GlobalScope закончится NPE, как и надо
источник

VP

Vladimir Petrakovich in Kotlin Community
Ибо нефиг
источник

AN

Alexander Nozik in Kotlin Community
Vladimir Petrakovich
Ну тогда попытка подписаться на закрытие GlobalScope закончится NPE, как и надо
NPE - всегда плохо. Тогда уж надо делать ?: error("...")
источник