Size: a a a

Kotlin Community

2020 July 06

D

Dmitry in Kotlin Community
Вот читаю чатики и не понимаю, почему всем так не нравится глобальный скоуп? Для задач, которые надо бы завершить в любом случае, даже если компонент к тому времени будет уже закрыт, чем плохо?
источник

AN

Alexander Nozik in Kotlin Community
Dmitry
Вот читаю чатики и не понимаю, почему всем так не нравится глобальный скоуп? Для задач, которые надо бы завершить в любом случае, даже если компонент к тому времени будет уже закрыт, чем плохо?
Ну как всегда, читать Елизарова. Глобальный скоуп плох тем, что в нем нет Job. Кооперативная отмена в нем не работает.
источник

AN

Alexander Nozik in Kotlin Community
Ну и подмешивать его внутрь существующей корутины совсем плохо потому что там структурная конкурретность сломается довольно непредсказуемым образом.
источник

ПГ

Павло Гриник... in Kotlin Community
Dmitry
Вот читаю чатики и не понимаю, почему всем так не нравится глобальный скоуп? Для задач, которые надо бы завершить в любом случае, даже если компонент к тому времени будет уже закрыт, чем плохо?
источник

T

The The in Kotlin Community
Alexander Nozik
Ну и подмешивать его внутрь существующей корутины совсем плохо потому что там структурная конкурретность сломается довольно непредсказуемым образом.
а делать через GlobalScope.launch {  }, где внутри саспенд функция с = withContext(Dispatchers.IO) нормально?
источник

D

Dmitry in Kotlin Community
Да, для случаев, когда отменять ничего не надо
источник

AN

Alexander Nozik in Kotlin Community
The The
а делать через GlobalScope.launch {  }, где внутри саспенд функция с = withContext(Dispatchers.IO) нормально?
Нет. Как раз потому, что я написал выше. Не понятно, как будут ошибки прокидываться
источник

AN

Alexander Nozik in Kotlin Community
Dmitry
Да, для случаев, когда отменять ничего не надо
а ошибки?
источник

AN

Alexander Nozik in Kotlin Community
а логи?
источник

T

The The in Kotlin Community
Alexander Nozik
Нет. Как раз потому, что я написал выше. Не понятно, как будут ошибки прокидываться
как же правильно запускать мою функцию тогда
suspend fun writeAudioToFile() = withContext(Dispatchers.IO)
источник

D

Dmitry in Kotlin Community
Трай Кетч для ошибок. А что логи?
источник

AN

Alexander Nozik in Kotlin Community
Так что нет, не нормально. Разумеется за исключением тех случаев, когда вы очень хорошо понимаете, что делаете
источник

AN

Alexander Nozik in Kotlin Community
Dmitry
Трай Кетч для ошибок. А что логи?
Ну и структурная конкуррентность сломана. Зачем так делать?
источник

AN

Alexander Nozik in Kotlin Community
The The
как же правильно запускать мою функцию тогда
suspend fun writeAudioToFile() = withContext(Dispatchers.IO)
да
источник

T

The The in Kotlin Community
что да? я спрашиваю как правильно ее запускать
источник

AN

Alexander Nozik in Kotlin Community
The The
что да? я спрашиваю как правильно ее запускать
В смысле откуда эту функцию запускать?
источник

AN

Alexander Nozik in Kotlin Community
Откуда хотите.
источник

T

The The in Kotlin Community
>а делать через GlobalScope.launch {  }, где внутри саспенд функция с = withContext(Dispatchers.IO) нормально?
ну вот так я ее запускал, вы говорите что не правильно
источник

T

The The in Kotlin Community
источник

BP

Bogdan Panchenko in Kotlin Community
Alexander Nozik
В смысле откуда эту функцию запускать?
Как скоуп создать, про это вопрос
источник