Junior — Middle
Kako možete prekinuti ili otkazati izvršavanje asinhrone korutine u vašoj aplikaciji?
sobes.tech АИ
Одговор од АИ
U Kotlinu, za prekid ili otkazivanje asinhrone korutine koristi se mehanizam otkazivanja putem Job-a. Da biste otkazali korutinu, potrebno je pozvati metodu cancel() na odgovarajućem Job-u.
Primer:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Radim $i ...")
delay(500)
}
}
// Kasnije, za otkazivanje izvršavanja:
job.cancel()
Važno je da unutar korutine postoje tačke za otkazivanje — na primer, pozivi suspend funkcija kao što je delay(), koje proveravaju stanje otkazivanja i omogućavaju korutini da se pravilno završi.