Junior — Middle
Mi a különbség a Single és az Observable adattípusok között az RxJava könyvtárban?
sobes.tech MI
Válasz az MI-től
Az RxJava-ban a Single és az Observable típusok különböznek a kibocsátott elemek számában és jellegében:
-
Observable bármennyi elemet (0, 1 vagy sok) képes kibocsátani, és sikeresen vagy hibával befejeződhet. Alkalmas olyan adatfolyamokhoz, ahol több érték várható az idő múlásával.
-
Single pontosan egy elemet vagy hibát garantál. Hasznos olyan műveleteknél, amelyek egyetlen eredményt adnak vissza, például hálózati kérés vagy adatbázis lekérdezés esetén.
Single használatának példája:
Single<String> single = Single.just("Helló");
single.subscribe(
item -> System.out.println("Kaptuk: " + item),
error -> System.err.println("Hiba: " + error)
);
Az Observable így nézhet ki:
Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
item -> System.out.println("Kaptuk: " + item),
error -> System.err.println("Hiba: " + error),
() -> System.out.println("Befejeződött")
);