더북(TheBook)

Rx로 잡지 구독 비유를 더 넓은 범위의 사용 사례에 적용할 수 있습니다. 예를 들어 디스크나 네트워크에서 파일 로딩하기, 사용자 입력 처리나 RSS 및 트위터 피드와 같은 실시간 서비스 처리 등에 적용할 수 있습니다. 앞에 다룬 예제에서도 일반 동기 데이터로 처리했던 것을 다음과 같이 RxJS를 사용하면 시간 기반 비동기 이벤트 시퀀스 스트림으로 소비할 수 있습니다.

Stream(loadMagazines('/subscriptions/magazines')) 
.filter(magazine => magazine.month === 'July') -- Array.filter() 연산자로 구독 잡지에서 7월호만 찾습니다.
.subscribe(                                      
  magazine => {
    console.log(magazine.title);
      //-> Dobbs 박사 "반응형 애니메이션 제작" 출력
  }
);

이러한 유형의 서비스는 불규칙한 간격으로 실시간 데이터를 생성하며, 생성된 데이터는 이벤트 스트림의 기초를 형성합니다. 트위터 같은 서비스를 예로 들면 트윗을 생산하는 생산자로서 트위터 API를 생각할 수 있습니다. 일반적으로 대부분 사람은 네트워크 통신의 복잡성보다 트윗 내용을 처리하는 로직을 만드는 데 더 관심이 있습니다. 앞서 언급했듯이 이 로직은 몇 가지 컴포넌트로 이루어져 있는데, 좀 더 자세히 살펴보겠습니다.

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