Sobes.tech
Junior — Middle

Как съобщава една suspend функция за временното си спиране на изпълнението?

sobes.tech AI

Отговор от AI

Функцията suspend в Kotlin съобщава за временно спиране на изпълнението си чрез механизма на корутините. При извикване на suspend функция, изпълнението може да бъде спряно без блокиране на нишката, а състоянието на функцията се запазва в специален обект, наречен Continuation. Когато функцията се спре, тя връща управлението към извикващия, а след завършване на асинхронната операция изпълнението се възобновява от същото място.

Пример:

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

Тук, delay е suspend функция, която спира изпълнението на корутината без да блокира нишката, и я възобновява след 1 секунда.