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(), რომლებიც ამოწმებენ გაუქმების მდგომარეობას და საშუალებას აძლევენ კორუტინას სწორად დასრულდეს.