Sobes.tech
Junior — Middle

Cum se poate apela o funcție suspendată în cod sincron?

sobes.tech AI

Răspuns de la AI

Nu se poate apela direct o funcție suspend din codul sincron, deoarece necesită un context de coroutine. Cu toate acestea, poți porni o corutină și aștepta rezultatul în mod blocant folosind funcția runBlocking.

Exemplu:

import kotlinx.coroutines.*

fun main() {
    val result = runBlocking {
        suspendFunction()
    }
    println(result)
}

suspend fun suspendFunction(): String {
    delay(1000)
    return "Rezultat"
}

runBlocking creează un scope de coroutine și blochează thread-ul curent până când coroutine-ul se finalizează, permițând utilizarea funcțiilor suspend în codul sincron.