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