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é")
);