Junior — Middle
Πώς μπορείτε να διακόψετε ή να ακυρώσετε την εκτέλεση μιας ασύγχρονης coroutine στην εφαρμογή σας;
sobes.tech AI
Απάντηση από AI
Στην Kotlin, για να διακόψετε ή να ακυρώσετε μια ασύγχρονη coroutine, χρησιμοποιείται ο μηχανισμός ακύρωσης μέσω του Job. Για να ακυρώσετε τη coroutine, πρέπει να καλέσετε τη μέθοδο cancel() στο αντίστοιχο Job.
Παράδειγμα:
val job = CoroutineScope(Dispatchers.Default).launch {
repeat(1000) { i ->
println("Δουλεύω $i ...")
delay(500)
}
}
// Αργότερα, για να ακυρώσετε την εκτέλεση:
job.cancel()
Είναι σημαντικό να υπάρχουν σημεία ακύρωσης μέσα στη coroutine — για παράδειγμα, κλήσεις σε suspend λειτουργίες όπως το delay(), που ελέγχουν την κατάσταση ακύρωσης και επιτρέπουν στη coroutine να τερματίσει σωστά.