Junior — Middle
Kako pozvati suspend funkciju unutar sinhronog koda?
sobes.tech АИ
Одговор од АИ
Није могуће директно позвати suspend функцију из синхроног кода, јер она захтева контекст корутине. Међутим, можете покренути корутину и чекати резултат блокирајући помоћу функције runBlocking.
Пример:
import kotlinx.coroutines.*
fun main() {
val result = runBlocking {
suspendFunction()
}
println(result)
}
suspend fun suspendFunction(): String {
delay(1000)
return "Резултат"
}
runBlocking креира scope корутине и блокира тренутни тред до завршетка корутине, што омогућава коришћење suspend функција у синхроним кодовима.