Junior — Middle
Aký je účel operátora Single v RxJava a v akých scenároch sa používa?
sobes.tech AI
Odpoveď od AI
Operátor Single v RxJava predstavuje tok, ktorý emituje presne jeden prvok alebo chybu. Na rozdiel od bežného Observable, ktorý môže emitovať viac prvkov, Single garantuje získanie jedného výsledku alebo chyby.
Účel:
- Používa sa pre asynchrónne operácie, ktoré vracajú jedinú hodnotu, ako je sieťová požiadavka, čítanie z databázy alebo výpočet.
Scenáre použitia:
- Získanie dát zo servera (napríklad načítanie používateľského profilu).
- Vykonávanie operácií, pri ktorých sa očakáva jeden výsledok (napríklad uloženie dát s potvrdením).
Príklad použitia Single:
Single<String> single = Single.create(emitter -> {
// Asynchrónna operácia
String result = fetchDataFromNetwork();
if (result != null) {
emitter.onSuccess(result);
} else {
emitter.onError(new Exception("Chyba pri načítaní"));
}
});
single.subscribe(
data -> System.out.println("Získané: " + data),
error -> System.err.println("Chyba: " + error.getMessage())
);