Sobes.tech
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.