Junior — Middle
Qual é a finalidade do operador Single no RxJava e em quais cenários ele é utilizado?
sobes.tech IA
Resposta da IA
O operador Single no RxJava representa um fluxo que emite exatamente um elemento ou um erro. Ao contrário do Observable normal, que pode emitir múltiplos elementos, Single garante a obtenção de um único resultado ou erro.
Propósito:
- Usado para operações assíncronas que retornam um único valor, como uma requisição de rede, leitura de banco de dados ou cálculo.
Cenários de uso:
- Obter dados do servidor (por exemplo, carregar o perfil do usuário).
- Executar operações onde se espera um único resultado (por exemplo, salvar dados com confirmação).
Exemplo de uso de Single:
Single<String> single = Single.create(emitter -> {
// Operação assíncrona
String result = fetchDataFromNetwork();
if (result != null) {
emitter.onSuccess(result);
} else {
emitter.onError(new Exception("Erro ao carregar"));
}
});
single.subscribe(
data -> System.out.println("Obtido: " + data),
error -> System.err.println("Erro: " + error.getMessage())
);