더북(TheBook)

2.4.1 Observer API

옵저버는 이벤트 이미터에 콜백을 등록하는 것과 거의 같은 방식으로 옵저버블을 통해 등록됩니다. 그리고 지금까지 많이 봤던 구독 절차 동안 옵저버블은 옵저버를 인식하게 됩니다. 구독 절차는 옵저버 참조를 옵저버블로 전달하는 방법으로, 단방향 관계를 만듭니다.

그림 2-14는 옵저버블이 더 많은 데이터, 완료, 에러 등의 신호를 보내고자 옵저버의 메서드를 호출하는 방식을 보여줍니다. 보다시피 next() 외에도 error()complete() 메서드를 옵저버에서 호출하고 있습니다.

그림 2-14는 일단 subscribe 메서드가 호출되면 next, complete, error라는 세 가지(선택 사항) 메서드를 드러내는 API를 사용하여 옵저버가 암시적으로 생성되는 모습을 보여줍니다. 코드에서 해당 객체는 다음 구조를 따릅니다.

const observer = {
next: function () {
  // 다음 값을 처리함 
},
error: function () {
  // 사용자에게 알림
},
complete: function () {
 
} 
}

▲ 그림 2-14 옵저버블은 Observer API를 호출하여 스트림에서의 다음 이벤트, 스트림이 끝났다는 완료 플래그, 또는 파이프라인 연산 중에 발생한 에러를 보낸다. 에러 처리에 관해서는 나중에 다시 다룬다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.