티스토리 뷰

Programming language/javascript

RxJs

hello-world 2021. 1. 10. 03:16
728x90
반응형

1. RxJs 데이터스트림

 

"데이터 스트림이란 대체적으로

시퀀스 값( 1, 2, 3, 4.....)과 같이 연속된 데이터"

 

 

데이터 스트림의 형태는 규칙과 범위의 혼합.

1. 규칙이 있고 제한 범위가 있는 스트림 - 1, 2, 3, 4, 5 

2. 규칙이 있고 제한 범위가 없 스트림 - 1, 2, 3, 4, 5......

3. 규칙이 없고 제한 범위가 있는 스트림 - 1, 12, 55, 102, 201 

4. 규칙이 없고 제한 범위가 없는 스트림 - 1, 12, 55, 102, 201......

 

형태는 다르지만 연속된 값이라는 공통점이 있다.

 

RxJs에서 데이터 스트림 처리

- 사용자가 키를 입력할 때마다 결과값 처리의 경우.

데이터가 생성되고 생성된 데이터는 연산자에 의해 데이터가 처리되고 나서 구독될지 말지를 결정.

 

데이터 생성 ==> 데이터 처리 ==> 데이터 소비 ---> 시간

 

스트림 데이터가 생성됨

ob$=Rx.Observable.from(...)

스트림 데이터를 연산자로 처리함

ob2$=ob$.map(...)

처리된 스트림 데이터를 구독함.

Ob2$.subscribe(...)

 

1. 데이터 생성 단계에서는 데이터 생성자가 스트림 데이터를 생성한다.

생성되는 데이터의 예로 연속된 문자열, 숫자, 사용자 이벤트 등이 있다.

 

2. 데이터 처리 단계에서는 스트립 데이터가 파이프 형태로 연결된 연사자를 통과하면서 차례대로 처리된다.

 

3. 데이터 소비단계에서는 구독자(subscriber)가 데이터 스트림을 최종적인 처리를 수행함으로써 데이터를 소비한다.

 

이렇게 RxJs 처리의 핵심은 입력된 데이터 스트림을 연산자로 처리해 구독자에게 결과를 전달해 주는 것이다.

 

2. 연산자의 분류

- 생성(creation) 연산자

: 데이터 생성하는 연산자

 

- 변형(transformation) 연산자

: 입력을 적절한 형태로 가공해주는 연산자.

 

- 콤비내이션 (combination) 연산자

: 데이터 스트림을 결합( join )해 출력할 수 있는 연산자.

 

- 조건(conditional) 연산자

: 입력되는 모든 값이 조건 연산자(===)에 만족하는지를 검사한다. 대표적으로 every 연산자.

 

필터링(filtering) 연산자

: 데이터 스트림 입력에 특정 값을 선택하는 연산자.

728x90
반응형
댓글