Sam
04/08/2019, 10:01 PMgildor
04/08/2019, 11:32 PMSam
04/09/2019, 12:05 AMSam
04/09/2019, 12:08 AMval scope = CoroutineScope( Dispatchers.Default + SupervisorJob() )
with(scope) {
launch {
launch {
delay(500)
throw Exception()
}
launch {
try {
delay(1000)
println("launch sibling")
} catch (e: CancellationException) {
println("sibling launch cancel")
}
}
delay(1000)
println("launch parent")
}
}
Sam
04/09/2019, 12:09 AMSam
04/09/2019, 12:09 AMgildor
04/09/2019, 1:38 AMSam
04/09/2019, 1:39 AMgildor
04/09/2019, 1:39 AMgildor
04/09/2019, 1:39 AMgildor
04/09/2019, 1:39 AMSam
04/09/2019, 1:41 AMgildor
04/09/2019, 1:41 AMgildor
04/09/2019, 1:41 AMgildor
04/09/2019, 1:42 AMSam
04/09/2019, 1:42 AMgildor
04/09/2019, 1:42 AMSam
04/09/2019, 1:43 AMgildor
04/09/2019, 1:43 AMSam
04/09/2019, 1:43 AMgildor
04/09/2019, 1:44 AMthen launched coroutine’s child job too could have been a SupervisorJob.No! And it by desgin
Sam
04/09/2019, 1:45 AMgildor
04/09/2019, 1:45 AMgildor
04/09/2019, 1:45 AMSam
04/09/2019, 1:46 AMgildor
04/09/2019, 1:47 AMlaunch
Sam
04/09/2019, 1:47 AMgildor
04/09/2019, 1:47 AMa real application case thoughDo you have at least some problem what you trying to solve in sample?
Sam
04/09/2019, 1:48 AMSam
04/09/2019, 1:49 AMgildor
04/09/2019, 1:49 AMgildor
04/09/2019, 1:52 AMgildor
04/09/2019, 1:52 AMgildor
04/09/2019, 1:54 AMSam
04/09/2019, 1:54 AMgildor
04/09/2019, 1:55 AMSam
04/09/2019, 1:55 AMgildor
04/09/2019, 1:56 AMgildor
04/09/2019, 1:56 AMgildor
04/09/2019, 1:56 AMgildor
04/09/2019, 1:57 AMSam
04/09/2019, 1:58 AM