Sobes.tech
Back to questions
Junior — Middle
74

Каким образом можно вызвать suspend функцию внутри синхронного кода?

Companies where asked
NetUP

Answer from AI

sobes.tech AI

Вызвать suspend функцию из синхронного кода напрямую нельзя, так как она требует корутинного контекста. Однако можно запустить корутину и дождаться результата блокирующим способом с помощью функции runBlocking.

Пример:

import kotlinx.coroutines.*

fun main() {
    val result = runBlocking {
        suspendFunction()
    }
    println(result)
}

suspend fun suspendFunction(): String {
    delay(1000)
    return "Результат"
}

runBlocking создаёт корутинный скоуп и блокирует текущий поток до завершения корутины, что позволяет использовать suspend функции в синхронном коде.