Sobes.tech
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ć.