Junior — Middle
Čo znamená pojem 'single' v kontexte korutín a ako sa používa?
sobes.tech AI
Odpoveď od AI
V kontexte korutín v Android (Kotlin) sa termínom single zvyčajne odkazujeme na operátor alebo funkciu, ktorá vráti presne jeden prvok z dátového toku (napríklad z Flow alebo RxJava). V Kotlin Flow je single() terminálna operácia, ktorá očakáva, že tok emituje presne jeden prvok a ten vráti. Ak je emisia viac alebo menej prvkov, bude vyvolaná výnimka.
Príklad použitia s Flow:
val flow = flowOf(42)
val value = flow.single() // vráti 42
Ak je tok prázdny alebo obsahuje viac než jeden prvok, single() spôsobí chybu.
Preto sa single používa, keď sa očakáva presne jeden výsledok z asynchrónneho toku dát.