Sobes.tech
Junior — Middle

Qual é a funcionalidade principal e o propósito do SupervisorScope no sistema?

sobes.tech IA

Resposta da IA

SupervisorScope é um CoroutineScope especial no Kotlin Coroutines, usado para gerir um grupo de coroutines.

Funcionalidade principal:

  • Permite lançar várias coroutines filhas, e a falha de uma delas não cancela as outras.
  • Ao contrário de um CoroutineScope normal, onde um erro numa coroutine filha cancela todas, SupervisorScope isola os erros.

Propósito:

  • Usado quando se deseja lançar várias tarefas independentes em paralelo e tratar os seus erros separadamente.

Exemplo:

val supervisor = CoroutineScope(SupervisorJob() + Dispatchers.Default)
supervisor.launch {
    // coroutine 1
}
supervisor.launch {
    // coroutine 2
    throw Exception("Erro") // não cancela a coroutine 1
}