Назад к вопросам
Junior — Middle
73
Каким образом можно вызвать suspend функцию внутри синхронного кода?
Компании, где спрашивали
NetUP
Ответ от нейросети
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 функции в синхронном коде.