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