Sobes.tech
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 για την κλήση λειτουργιών αναστολής.