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.