Daum영화, RxJS 4 적용으로 프론트엔드 비동기 이벤트 처리 최적화 사례 공개
·2017.01.09 00:00
핵심 내용
Daum영화는 2016년 개편 시 RxJS 4를 도입해 검색 자동완성, 방향키 제어, 평점 목록 로딩 등에서 callback hell을 해결하고 비동기 이벤트 흐름을 관리한 경험을 공유했다.
1 / 5
자세히 보기
2016년 개편된 Daum영화 프론트엔드에는 RxJS 4가 적용되었습니다. 당시 RxJS 5는 베타 버전이었고 IE 브라우저 호환성 문제가 있어 RxJS 4를 선택했습니다. 주요 적용 사례로는 검색 자동완성 기능에서 debounce, distinctUntilChanged, flatMapLatest, retry, takeUntil 등의 연산자를 사용해 서버 요청 최적화 및 응답 순서 제어, 구독 종료를 구현했습니다. PC 방향키 제어에는 scan 연산자를 활용해 키 입력에 따른 선택 인덱스 상태를 관리했습니다. 평점 늘리기 기능에서는 shareReplay 연산자를 통해 전체 영화 ID 목록을 한 번만 요청하고 재사용하여 중복 요청을 방지했습니다. 이러한 적용을 통해 callback hell 문제를 완화했으나, 복잡한 연산자와 함수형 프로그래밍 패러다임에 대한 이해가 필요해 진입 장벽이 존재한다는 점도 지적되었습니다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.