Junior — Middle
V čem se liší datové typy Single a Observable v knihovně RxJava?
sobes.tech AI
Odpověď od AI
V RxJava se typy Single a Observable liší podle počtu a charakteru emitovaných prvků:
-
Observable může emitovat libovolné množství prvků (0, 1 nebo mnoho) a může skončit úspěšně nebo chybou. Je vhodný pro datové proudy, kde se očekává několik hodnot v čase.
-
Single garantuje emitování přesně jednoho prvku nebo chyby. Je užitečný pro operace, které vracejí jediný výsledek, například dotaz na síť nebo databázi.
Příklad použití Single:
Single<String> single = Single.just("Ahoj");
single.subscribe(
item -> System.out.println("Přijato: " + item),
error -> System.err.println("Chyba: " + error)
);
Observable může vypadat takto:
Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
item -> System.out.println("Přijato: " + item),
error -> System.err.println("Chyba: " + error),
() -> System.out.println("Dokončeno")
);