Sobes.tech
Junior — Middle

Wat is het verschil tussen de datatypes Single en Observable in de RxJava-bibliotheek?

sobes.tech AI

Antwoord van AI

In RxJava verschillen de typen Single en Observable in de hoeveelheid en aard van de uitgezonden elementen:

  • Observable kan elk aantal elementen (0, 1 of veel) uitzenden en kan succesvol of met een fout eindigen. Het is geschikt voor datastromen waar meerdere waarden in de loop van de tijd worden verwacht.

  • Single garandeert de emissie van precies één element of een fout. Het is handig voor operaties die een enkel resultaat teruggeven, zoals een netwerk- of databasevraag.

Voorbeeld van gebruik van Single:

Single<String> single = Single.just("Hallo");
single.subscribe(
    item -> System.out.println("Ontvangen: " + item),
    error -> System.err.println("Fout: " + error)
);

Observable kan er zo uitzien:

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