Junior — Middle
Kā izsaukt suspend funkciju sinhronā kodā?
sobes.tech AI
Atbilde no AI
Tieši izsaukt suspend funkciju no sinhrona koda nav iespējams, jo tā prasa korutīnas kontekstu. Tomēr var uzsākt korutīnu un gaidīt rezultātu bloķējošā veidā, izmantojot funkciju runBlocking.
Piemērs:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Rezultāts"
}
runBlocking izveido korutīnas apgabalu un bloķē pašreizējo pavedienu līdz korutīnas pabeigšanai, ļaujot izmantot suspend funkcijas sinhronā kodā.