Sobes.tech
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ě.