Junior — Middle
Qual é a diferença entre os tipos de dados Single e Observable na biblioteca RxJava?
sobes.tech IA
Resposta da IA
No RxJava, os tipos Single e Observable diferem em quantidade e caráter dos elementos emitidos:
-
Observable pode emitir qualquer quantidade de elementos (0, 1 ou muitos), e também pode terminar com sucesso ou com erro. É adequado para fluxos de dados onde se espera vários valores ao longo do tempo.
-
Single garante a emissão de exatamente um elemento ou um erro. É útil para operações que retornam um resultado único, como uma requisição de rede ou banco de dados.
Exemplo de uso de Single:
Single<String> single = Single.just("Olá");
single.subscribe(
item -> System.out.println("Recebido: " + item),
error -> System.err.println("Erro: " + error)
);
Observable pode parecer assim:
Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribe(
item -> System.out.println("Recebido: " + item),
error -> System.err.println("Erro: " + error),
() -> System.out.println("Concluído")
);