Junior — Middle
Hogyan lehet megszakítani vagy törölni az alkalmazásodban az aszinkron coroutine végrehajtását?
sobes.tech MI
Válasz az MI-től
Kotlinban az aszinkron coroutine megszakításához vagy törléséhez a Job révén történő törlési mechanizmust használják. A coroutine törléséhez a megfelelő Job-onál a cancel() metódust kell meghívni.
Példa:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Dolgozom $i ...")
delay(500)
}
}
// Később, a végrehajtás törléséhez:
job.cancel()
Fontos, hogy a coroutine belsejében legyenek törlési pontok — például suspend függvények, mint a delay(), amelyek ellenőrzik a törlési állapotot, és lehetővé teszik a coroutine helyes befejezését.