Sobes.tech
Junior — Middle

Vysvětlete, co je suspend funkce a jak funguje v Kotlinu.

sobes.tech AI

Odpověď od AI

Suspend-функция в Kotlin — это функция, которая может быть приостановлена и возобновлена позже без блокировки потока. Она используется для написания асинхронного, неблокирующего кода, например, для работы с сетью или длительными операциями.

Такие функции объявляются с ключевым словом suspend. Внутри suspend-функции можно вызывать другие suspend-функции, что позволяет писать последовательный код, который под капотом выполняется асинхронно.

Пример:

suspend fun fetchData(): String {
    delay(1000) // приостанавливает выполнение на 1 секунду без блокировки потока
    return "Данные получены"
}

Здесь delay — это suspend-функция, которая приостанавливает выполнение, позволяя другим корутинам работать в это время.

Таким образом, suspend-функции помогают писать асинхронный код проще и чище, избегая callback-адов.