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.