Junior — Middle
Kaip iškviesti suspend funkciją sinchroniniame kode?
sobes.tech AI
Atsakymas iš AI
Tiesiogiai iškviesti suspend funkciją iš sinchroninio kodo negalima, nes ji reikalauja korutinės konteksto. Tačiau galima paleisti korutiną ir laukti rezultato blokuojančiu būdu naudodami funkciją runBlocking.
Pavyzdys:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Rezultatas"
}
runBlocking sukuria korutinės srities ir blokuoja dabartinį srautą iki korutinos pabaigos, leidžiant naudoti suspend funkcijas sinchroniniame kode.