Sobes.tech
Junior — Middle
92

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

Сұралған компаниялар
NetUP

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 функции в синхронном коде.