Sobes.tech
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())
);