Junior — Middle
Hoe roep je een suspend-functie aan binnen synchrone code?
sobes.tech AI
Antwoord van AI
Het is niet mogelijk om een suspend-functie rechtstreeks vanuit synchrone code aan te roepen, omdat deze een coroutine-context vereist. Je kunt echter een coroutine starten en het resultaat blokkeren wachten met behulp van de functie runBlocking.
Voorbeeld:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Resultaat"
}
runBlocking creëert een coroutine scope en blokkeert de huidige thread totdat de coroutine is voltooid, waardoor suspend-functies in synchrone code kunnen worden gebruikt.