Sobes.tech
Junior — Middle

როგორ შეიძლება თქვენი პროგრამის ფარგლებში ასინქრონული კორუტინის შესრულება გაჩერდეს ან გაუქმდეს?

sobes.tech AI

პასუხი AI-სგან

Kotlin-да, ასინქრონული კორუტინის გაჩერება ან გაუქმება ხდება Job-ის მეშვეობით. კორუტინის გაუქმებისთვის, საჭიროა გამოიძახოთ cancel() მეთოდი შესაბამის Job-ზე.

მაგალითი:

val job = CoroutineScope(Dispatchers.Default).launch {
    repeat(1000) { i ->
        println("მუშაობ $i ...")
        delay(500)
    }
}

// მოგვიანებით, რათა გაუქმდეს შესრულება:
job.cancel()

მნიშვნელოვანია, რომ კორუტინაში იყოს გაუქმების წერტილები — მაგალითად, გამოძახებები suspend ფუნქციებს, როგორიცაა delay(), რომლებიც ამოწმებენ გაუქმების მდგომარეობას და საშუალებას აძლევენ კორუტინას სწორად დასრულდეს.