Sobes.tech
Junior — Middle

Czy możesz wyjaśnić, czym są funkcje suspend w języku Kotlin i jak one działają?

sobes.tech AI

Odpowiedź od AI

Funkcje suspend w Kotlinie to funkcje, które mogą być zawieszone i wznowione później bez blokowania wątku. Służą do pisania kodu asynchronicznego i nieblokującego.

Główne punkty:

  • Oznaczone słowem kluczowym suspend.
  • Mogą być wywoływane tylko z innych funkcji suspend lub korutyn.
  • Pozwalają na wykonywanie długich operacji (np. zapytań sieciowych) bez blokowania głównego wątku.

Przykład:

suspend fun fetchData(): String {
    delay(1000) // zawiesza wykonanie na 1 sekundę bez blokowania wątku
    return "Dane otrzymane"
}

Tutaj delay to funkcja suspend, która zawiesza korutynę, umożliwiając wykonywanie innych zadań w tym czasie.