본문 바로가기

RxJS22

[RxJS / angular] 22. concatMap 이해하기 (옵저버블 매핑 + concat ) 옵저버블은 또다시 옵저버블을 방출할 수 있습니다. 옵저버블을 방출하는 옵저버블을 다룰 때는 고차 매핑 연산자를 사용하는 것이 좋습니다. 고차 매핑 연산자에 대해 더 알고 싶은 분은 지난 포스트를 참고해 주세요. 이번 포스트에서는 고차 매핑 연산자인 catcatMap에 대해 자세히 알아보도록 하겠습니다. concatMap 이란? concatMap은 고차 매핑과 concat(연결)작업을 동시에 한다고 생각하면 이해하기 편합니다. 여기서 말하는 고차 매핑은 옵저버블에서 방출된 옵저버블을 구독해서 처리하는 과정이라고 생각해주세요. concatMap 연산자는 방출된 각 항목을 우리가 제공하는 함수에 정의된 대로 새로운 내부 옵저버블 항목으로 변환합니다. 외부 옵저버블에서 방출된 각 항목을 각각 내부에 정의된 처리.. 2022. 8. 12.
[RxJS / angular] 21. 고차 옵저버블과 고차 매핑 연산자 이번 포스트부터 고차 옵저버블과 switchMap과 같은 고차 매핑 연산자에 대해 알아보게 됩니다. 옵저버블을 방출하는 옵저버블이 존재하는 걸까요? 고차 옵저버블(higher-order Observable)이란? 옵저버블을 방출하는 옵저버블? 우리에게 익숙한 옵저버블은 숫자나 문자열과 같은 기본 요소를 방출합니다. 위 예에서는 옵저버블이 2, 3, 4 숫자를 방출하고 있습니다. 하지만 옵저버블이 다시 옵저버블을 방출할 수 있습니다. 위 예제는 옵저버블을 방출하게 됩니다. of에서 생성된 옵저버블로 방출되는 숫자는 map 연산자에서 http get에 매핑됩니다. 따라서 소스 옵저버블에서 방출된 각 항목은 옵저버블을 출력 옵저버블로 방출합니다. 이렇게 옵저버블을 내보내는 옵저버블을 고차 옵저버블(higher.. 2022. 8. 9.
[RxJS / angular] 19. Subject 액션 스트림으로 데이터 필터링 하기 이번 포스트에서는 액션 스트림을 사용해서 유저 인터렉션을 어떻게 처리하는지 살펴보게 됩니다. 액션 스트림과 데이터 스트림을 결합해서 데이터를 필터링하고 화면에 표시하겠습니다. select를 선택할 때 데이터를 방출하는 액션 스트림을 Subject로 만들어보고 그때 발생할 수 있는 초기값 문제점을 해결해 보도록 하겠습니다. rxjs를 이용해서 유저 액션을 처리하는 순서 먼저 유저 액션에 반응하기 위해 먼저 액션 스트림을 생성합니다. 액션 스트림을 만드는 방법 중 한가지는 Subject 또는 BehaviorSubject를 사용하는 것입니다. 그런 다음 액션 스트림을 데이터 스트림과 결합 합니다. 스트림의 결합은 combineLatest나 forkJoin과 같은 rxjs에서 제공해주는 생성 함수 혹은 연산자를.. 2022. 8. 2.
[RxJS / angular] 18. Subject와 BehaviorSubject 이번 포스트에서는 subject와 observable의 차이를 알아보며 멀티캐스트와 유니캐스트의 정의를 살펴보겠습니다. 마지막에는 subject의 단점을 보안할 수 있는 BehaviorSubject에 대해 알아봅니다. Subject 란 Subject는 옵저버블이자 옵저버인 특별한 유형의 옵저버블입니다. subject는 아래 코드에서 처럼 new 키워드를 사용해서 생성할 수 있습니다. 생성할 때 제네릭으로 subject가 방출하는 항목의 타입 지정을 위해 타입 인수를 지정합니다. subject는 옵저버 인터페이스를 구현하기 때문에 next 메서드를 호출하여 항목을 방출할 수 있습니다. 그리고 여전히 옵저버블이기 때문에 알림을 수신하고자 하려는 모든 코드에서 subscribe 메서드를 호출할 수 있습니다. .. 2022. 7. 30.