Last active
January 25, 2018 17:28
-
-
Save RichardSilveira/07356cc29030e2b8e02c0008d3c8d284 to your computer and use it in GitHub Desktop.
RxJS e o Padrão Observer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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