RxJS Observer
이번에는 RxJS의 구성요소 중 observer에 대해서 알아보겠습니다.Observable에 의해 전달 된 값을 처리하는 콜백 콜렉션입니다.Observer는 Observable에 의해 전달되는 특정한 알림에 대한 간단한 콜백함수 집합(next, error, and complete)입니다.
다음은 일반적인 Observer 객체의 예입니다.
1 | var observer = { |
Observer를 사용하기 위해서 Observable의 subscribe에게 Observer를 인자로 넘깁니다.
1 | observable.subscribe(observer); |
Observer는 Observable이 전달하는 특정 알림에 대한 3개의 콜백을 가진 객체입니다.
RxJS의 Observer는 불완전하게 쓰일 수 있습니다. 콜백 중 하나를 제공하지 않을경우, Observable에서 해당 콜백이 없기 때문에 일부 유형의 알림이 무시된다는 점을 제외하면 Observable의 실행은 계속 정상적으로 수행됩니다.
아래의 예제는 observer의 complete이 없는 케이스입니다.
1 | var observer = { |
Observable을 subscribe할 때, Observer 객체 대신 콜백을 arguments로 제공할 수 있습니다.
1 | observable.subscribe(x => console.log('Observer got a next value: ' + x)); |
observable.subscribe는 첫번째 콜백 argument를 사용해서 Observer 객체의 next핸들러를 만듭니다. 총 3개의 콜백 타입은 아래와 같이 쓸 수 있습니다.
1 | observable.subscribe( |