Sobes.tech
Junior — Middle

Mi a Single operátor feladata az RxJava-ban, és milyen helyzetekben használják?

sobes.tech MI

Válasz az MI-től

Az Single operátor RxJava-ban egy olyan áramlást képvisel, amely pontosan egy elemet vagy hibát bocsát ki. Ellentétben a normál Observable-lal, amely több elemet is kiadhat, az Single garantálja, hogy egy eredményt vagy hibát kapunk.

Cél:

  • Olyan aszinkron műveletekhez használják, amelyek egyetlen értéket adnak vissza, például hálózati kérés, adatbázis olvasás vagy számítás.

Használati forgatókönyvek:

  • Adatok lekérése a szerverről (pl. felhasználói profil betöltése).
  • Olyan műveletek végrehajtása, ahol egy eredményt várunk (pl. adatok mentése megerősítéssel).

Single használatának példája:

Single<String> single = Single.create(emitter -> {
    // Aszinkron művelet
    String result = fetchDataFromNetwork();
    if (result != null) {
        emitter.onSuccess(result);
    } else {
        emitter.onError(new Exception("Betöltési hiba"));
    }
});

single.subscribe(
    data -> System.out.println("Kapott: " + data),
    error -> System.err.println("Hiba: " + error.getMessage())
);