Skip to content

Instantly share code, notes, and snippets.

@RichardSilveira
Last active January 25, 2018 17:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save RichardSilveira/07356cc29030e2b8e02c0008d3c8d284 to your computer and use it in GitHub Desktop.
Save RichardSilveira/07356cc29030e2b8e02c0008d3c8d284 to your computer and use it in GitHub Desktop.
RxJS e o Padrão Observer
const subject = new Rx.Subject();
/* Observers são consumidores dos valores entregues pelos Subjects (ou Observables).
São simplemente objetos com três callbacks, um para cada tipo de notificação
que pode ser entregue pelo Subject/Observable: next, error e complete.*/
const observerA = {
next: valor => console.log(`observerA consumindo informação: ${valor}`),
error: err => console.log('observerA recebendo uma notificação de erro'),
complete: () => console.log('observerA sendo informando que o subject foi finalizado')
}
const subscription = subject.subscribe(observerA)
subject.subscribe({
next: valor => console.log(`observerB consumindo informação: ${valor}`),
error: err => console.log('observerB recebendo uma notificação de erro')
})
subject.next(1)
subject.complete()
// Após finalizando, o subject não pode mais emitir notificações.
subject.next(2) // Valor será "ignorado".
subscription.unsubscribe()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment