Sobes.tech
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())
);