Sobes.tech
Junior — Middle

Care este diferența dintre tipurile de date Single și Observable în biblioteca RxJava?

sobes.tech AI

Răspuns de la AI

În RxJava, tipurile Single și Observable diferă în ceea ce privește numărul și natura elementelor emise:

  • Observable poate emite orice număr de elemente (0, 1 sau multe), și se poate încheia cu succes sau cu o eroare. Este potrivit pentru fluxuri de date în care se așteaptă mai multe valori în timp.

  • Single garantează emiterea a exact un element sau o eroare. Este util pentru operații care returnează un rezultat unic, cum ar fi o solicitare către rețea sau bază de date.

Exemplu de utilizare a Single:

Single<String> single = Single.just("Salut");
single.subscribe(
    item -> System.out.println("Primite: " + item),
    error -> System.err.println("Eroare: " + error)
);

Observable poate arăta astfel:

Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
    item -> System.out.println("Primite: " + item),
    error -> System.err.println("Eroare: " + error),
    () -> System.out.println("Finalizat")
);