Skip to main content

Of e From | Rxjs

  • Of e From | Rxjs

of()

Cria um Observable a partir de valores literais (primitivos ou objetos).

import { of } from 'rxjs';

of(1, 2, 3).subscribe(console.log);
// Saída: 1, 2, 3
  • Emite os valores exatamente como foram passados.
  • Se você passar um array, ele será emitido como um único valor:
of([1, 2, 3]).subscribe(console.log);
// Saída: [1, 2, 3]

from()

Cria um Observable a partir de um iterável, array, Promise, ou objeto com Symbol.iterator.

import { from } from 'rxjs';

from([1, 2, 3]).subscribe(console.log);
// Saída: 1, 2, 3
  • Se você passar um array, ele será desestruturado e emitido item por item.
  • Se você passar uma Promise, ele vai emitir o resultado da promise e completar.
from(Promise.resolve('hello')).subscribe(console.log);
// Saída: hello

📌 Diferença-chave

Entradaof()from()
1, 2, 3emite 1, 2, 3❌ erro (espera 1 valor, não múltiplos)
[1, 2, 3]emite [1, 2, 3] (um único array)emite 1, 2, 3
Promise.resolve(4)emite a Promise como valoremite o resultado da Promise

🧠 Regra de ouro:

  • Use **of** quando quiser emitir exatamente o que você passar.
  • Use **from** quando quiser converter uma coleção, iterável ou promise em uma sequência de valores emitidos.