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")
);