rxjs rxjs5

rxjs subject



¿Cuándo usar asObservable() en rxjs? (1)

Cuando no quiere filtrar el "lado observador" de un Subject fuera de su API. (Básicamente para evitar la abstracción con fugas).

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(); } };

Ahora, cuando alguien obtiene el resultado observable de myAPI.getData() no pueden next valores en el resultado:

var result = myAPI.getData(); result.next(''LOL hax!''); // throws an error because `next` doesn''t exist

Me pregunto cuál es el uso de: https://github.com/Reactive-Extensions/RxJS/blob/master/doc/api/core/operators/asobservable.md

según los documentos: (Observable): Una secuencia observable que oculta la identidad de la secuencia fuente.

pero ¿por qué necesitarías ocultar la secuencia?

Saludos

Sean