Junior — Middle
Jak można przerwać lub anulować wykonywanie asynchronicznej korutyny w Twojej aplikacji?
sobes.tech AI
Odpowiedź od AI
W Kotlinie, do przerwania lub anulowania asynchronicznej korutyny, używa się mechanizmu anulowania przez Job. Aby anulować korutynę, należy wywołać metodę cancel() na odpowiednim Job.
Przykład:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Pracuję $i ...")
delay(500)
}
}
// Później, aby anulować wykonanie:
job.cancel()
Ważne jest, aby w korutynie były punkty anulowania — na przykład wywołania funkcji suspend, takich jak delay(), które sprawdzają stan anulowania i pozwalają korutynie poprawnie się zakończyć.