Junior — Middle
Kuidas kutsuda välja suspend-funktsioon sünkroonilises koodis?
sobes.tech AI
Vastus AI-lt
Directly calling a suspend function from synchronous code is not possible because it requires a coroutine context. However, you can start a coroutine and wait for the result in a blocking manner using the runBlocking function.
Example:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Result"
}
runBlocking creates a coroutine scope and blocks the current thread until the coroutine completes, allowing suspend functions to be used in synchronous code.