Junior — Middle
Πώς εκτελείται μια ανασταλμένη λειτουργία (suspend) σε Kotlin;
sobes.tech AI
Απάντηση από AI
Στην Kotlin, μια λειτουργία αναστολής (suspend function) καλείται από μια coroutine ή άλλη λειτουργία αναστολής. Δεν μπορεί να καλεστεί απευθείας από κανονικό κώδικα.
Παράδειγμα κλήσης μιας λειτουργίας αναστολής:
import kotlinx.coroutines.*
suspend fun fetchData(): String {
delay(1000) // μίμηση μιας μακράς λειτουργίας
return "Δεδομένα λήφθηκαν"
}
fun main() = runBlocking {
val result = fetchData() // κλήση λειτουργίας αναστολής μέσα σε coroutine
println(result)
}
Εδώ, το runBlocking ξεκινά μια coroutine, μέσα στην οποία μπορούν να καλούνται λειτουργίες αναστολής. Στο Android, συνήθως χρησιμοποιούνται lifecycleScope.launch ή άλλα CoroutineScope για την κλήση λειτουργιών αναστολής.