Solution: Cancellation of a Job
See the solution to the challenge concerning cancellation of a job.
We'll cover the following...
Solution
suspend fun main(): Unit = coroutineScope {
val job = Job()
launch(job) {
try {
repeat(1_000) { i ->
delay(200)
println("i = $i")
}
} catch (e: CancellationException) {
println(e)
throw e
}
}
delay(1500)
job.cancelAndJoin()
println("Canceled successfully")
}Complete code for the solution
Explanation
Here is a line–by–line explanation of the code above:
Ask