supervisorScope — это специальный корутин-скоп, который изолирует ошибки дочерних корутин, предотвращая их распространение на родителя или соседние корутины.
В обычном корутин-скопе ошибка распространяется в обе стороны:
С supervisorScope каждая дочерняя job работает независимо:
supervisorScope {
launch { /* fails */ } // НЕ отменяет соседнюю корутину ниже
launch { /* succeeds */ } // Продолжает работать нормально
}
supervisorScope идеален для запуска независимых параллельных операций, например:
Ключевое отличие — это стратегия распространения ошибок:
supervisorScope — ошибки изолированы для каждой дочерней корутиныВ стандартном coroutine scope падение дочерней coroutine отменит все соседние coroutines и распространит ошибку выше к родителю.
Новый — ещё не проверен сообществом
Вы