Sobes.tech
Junior — Middle

¿En qué se diferencian los tipos de datos Single y Observable en la biblioteca RxJava?

sobes.tech AI

Respuesta de la IA

En RxJava, los tipos Single y Observable difieren en la cantidad y el carácter de los elementos emitidos:

  • Observable puede emitir cualquier cantidad de elementos (0, 1 o muchos), y también puede finalizar con éxito o con error. Es adecuado para flujos de datos donde se esperan varios valores a lo largo del tiempo.

  • Single garantiza la emisión de exactamente un elemento o un error. Es útil para operaciones que devuelven un único resultado, como una solicitud a una red o base de datos.

Ejemplo de uso de Single:

Single<String> single = Single.just("Hola");
single.subscribe(
    item -> System.out.println("Recibido: " + item),
    error -> System.err.println("Error: " + error)
);

Observable puede verse así:

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