2016-07-21 3 views
0

내 Angular 2 앱에서는 다른 각도 요소를 통해 메시지를 브로드 캐스팅하기 위해 사용하는 통신 서비스가 있습니다.관찰자 .next()를 특정 Observer에게 보냄

@Injectable() 
export class CommunicationService { 
    private _broadcast = new Subject<EventParam>(); 

    broadcast$ = this._broadcast.asObservable(); 

    public sendEvent(eventParameters: EventParam): void { 
     this._broadcast.next(eventParameters); 
    } 
} 

이 잘 작동하지만, 때로는 어떤 구성 요소 내 메시지를 보낼 알고 : RxJs 특정 관찰자에게 메시지를 보내와이 가능?

+0

"특정 가입자"를 의미합니까? –

답변

1

ObservablesObservers과 분리되어 있으므로 원하는 경우 실제로 이름 지정 검색을 수행 할 방법이 없습니다. 즉, filter을 사용하여 선택적 필터링 작업을 수행 할 수 있습니다.

//In a consumer of your service 
communicationService.broadcast$ 
    //Will allow through events based on an optional field 
    .filter(({name}) => !name || name === 'component1') 
    .subscribe(x => /**/); 
+0

Observables는 Observers와의 분리를 의미합니다. 그게 무슨 뜻 이죠? 설명해 주시겠습니까? –