Junior — Middle
Uygulamanızda asenkron bir coroutine'nin yürütülmesini nasıl durdurabilir veya iptal edebilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de, asenkron coroutine'yi iptal etmek veya durdurmak için Job aracılığıyla iptal mekanizması kullanılır. Coroutine'yi iptal etmek için ilgili Job'da cancel() metodunu çağırmak gerekir.
Örnek:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Çalışıyorum $i ...")
delay(500)
}
}
// Daha sonra, yürütmeyi iptal etmek için:
job.cancel()
Önemli olan, coroutine içinde iptal noktalarının bulunmasıdır — örneğin, delay() gibi suspend fonksiyonlarının çağrıları, iptal durumunu kontrol eder ve coroutine'in düzgün şekilde sona ermesine olanak tanır.