Junior — Middle
Jak informuje suspendovaná funkce o svém dočasném zastavení provádění?
sobes.tech AI
Odpověď od AI
Funkce suspend v Kotlinu oznamuje dočasné pozastavení své exekuce pomocí mechanismu korutin. Při volání suspend funkce může být exekuce pozastavena bez blokování vlákna a stav funkce je uložen v speciálním objektu nazývaném Continuation. Když je funkce pozastavena, vrací řízení volajícímu, a po dokončení asynchronní operace je exekuce obnovena ze stejného místa.
Příklad:
suspend fun fetchData(): String {
delay(1000) // pozastaví korutinu na 1 sekundu
return "Data načtena"
}
Zde je delay suspend funkce, která pozastavuje exekuci korutiny bez blokování vlákna a obnovuje ji po 1 sekundě.