Lorsque vous ne voulez pas de fuite de "l'observateur" du côté de l'un Subject
de votre API. (En gros, pour éviter les fuites d'abstraction).
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 à partir d' myAPI.getData()
ils ne peuvent pas next
valeurs dans le résultat:
var result = myAPI.getData();
result.next('LOL hax!'); // throws an error because `next` doesn't exist