Sobes.tech
Junior — Middle

V čom sa líšia dátové typy Single a Observable v knižnici RxJava?

sobes.tech AI

Odpoveď od AI

V RxJava sa typy Single a Observable sa odlišujú podľa počtu a charakteru emitovaných prvkov:

  • Observable môže emitovať akýkoľvek počet prvkov (0, 1 alebo mnoho) a môže sa ukončiť úspešne alebo s chybou. Je vhodný pre dátové prúdy, kde sa očakáva viacero hodnôt v čase.

  • Single garantuje emitovanie presne jedného prvku alebo chyby. Je užitočný pre operácie, ktoré vracajú jediný výsledok, napríklad požiadavka na sieť alebo databázu.

Príklad použitia Single:

Single<String> single = Single.just("Ahoj");
single.subscribe(
    item -> System.out.println("Prijaté: " + item),
    error -> System.err.println("Chyba: " + error)
);

Observable môže vyzerať takto:

Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
    item -> System.out.println("Prijaté: " + item),
    error -> System.err.println("Chyba: " + error),
    () -> System.out.println("Dokončené")
);