Quand utiliser asObservable () dans rxjs?
Je me demande Quelle est l'utilité de: https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/asobservable.md
Selon docs: (Observables): observer Une séquence qui cache l'identité de la séquence source.
, Mais pourquoi auriez-vous besoin de cacher la séquence?
Cordialement
Sean
33
demandé sur
born2net
2016-05-02 18:52:11
1 réponses
Lorsque vous ne voulez pas laisser échapper le "côté observateur" d'un Subject
de votre API. (Essentiellement pour éviter l'abstraction qui fuit).
var myAPI = {
getData: () => {
var subject = new Subject();
var source = new SomeWeirdDataSource();
source.onMessage = (data) => subject.next({ type: 'message', data });
source.onOtherMessage = (data) => subject.next({ type: 'othermessage', data });
return subject.asObservable();
}
};
Maintenant, quand quelqu'un obtient le résultat observable de myAPI.getData()
, il ne peut pas next
valeurs dans le résultat:
var result = myAPI.getData();
result.next('LOL hax!'); // throws an error because `next` doesn't exist
89
répondu
Ben Lesh
2016-05-02 18:20:19