RxJS-연산자

연산자는 RxJS의 중요한 부분입니다. 연산자는 observable을 입력으로 받아들이고 출력도 observable 인 순수한 함수입니다.

운영자와 작업

연산자는 observable을 입력으로 받아들이고 출력도 observable 인 순수한 함수입니다.

연산자로 작업하려면 pipe () 메소드가 필요합니다.

pipe () 사용 예

let obs = of(1,2,3); // an observable
obs.pipe(
   operator1(),
   operator2(),
   operator3(),
   operator3(),
)

위의 예에서 우리는 of()값 1, 2 및 3을받는 메서드입니다. 이제이 Observable에서 위와 같이 pipe () 메서드를 사용하여 여러 연산자를 사용하여 다른 연산을 수행 할 수 있습니다. 연산자의 실행은 주어진 관찰 가능 항목에서 순차적으로 진행됩니다.

아래는 작동 예입니다-

import { of } from 'rxjs';
import { map, reduce, filter } from 'rxjs/operators';

let test1 = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
let case1 = test1.pipe(
   filter(x => x % 2 === 0),
   reduce((acc, one) => acc + one, 0)
)
case1.subscribe(x => console.log(x));

산출

30

위의 예에서는 짝수를 필터링하는 필터 연산자를 사용했으며 다음으로 reduce() 짝수 값을 추가하고 구독 할 때 결과를 제공하는 연산자입니다.

다음은 우리가 논의 할 Observable 목록입니다.

  • Creation
  • Mathematical
  • Join
  • Transformation
  • Filtering
  • Utility
  • Conditional
  • Multicasting
  • 오류 처리

창조 연산자

다음은 생성 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 아약스

이 연산자는 주어진 URL에 대해 ajax 요청을합니다.

2 ...에서

이 연산자는 배열, 배열 유사 객체, 약속, 반복 가능 객체 또는 관찰 가능 유사 객체에서 관찰 가능 항목을 생성합니다.

fromEvent

이 연산자는 버튼, 클릭 등과 같은 이벤트를 발생시키는 요소에 사용할 관찰 가능 항목으로 출력을 제공합니다.

4 fromEventPattern

이 연산자는 이벤트 핸들러를 등록하는 데 사용되는 입력 함수에서 옵저버 블을 생성합니다.

5 간격

이 연산자는 주어진 시간 동안 매번 Observable을 생성합니다.

6

이 연산자는 전달 된 인수를 받아 관찰 가능으로 변환합니다.

7 범위

이 연산자는 제공된 범위에 따라 일련의 숫자를 제공하는 Observable을 만듭니다.

8 throwError

이 연산자는 오류를 알리는 옵저버 블을 생성합니다.

9 시간제 노동자

이 연산자는 시간 초과 후 값을 방출하는 관찰 가능 항목을 만들고 각 호출 후 값이 계속 증가합니다.

10 iif

이 연산자는 구독 할 Observable을 결정합니다.

수학 연산자

다음은 수학 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 카운트

count () 연산자는 값이있는 Observable을 가져 와서 단일 값을 제공하는 Observable로 변환합니다.

2 최대

Max 메소드는 모든 값이있는 Observable을 가져 와서 max 값을 가진 Observable을 반환합니다.

최소

Min 메서드는 모든 값이있는 Observable을 가져 와서 min 값으로 Observable을 반환합니다.

4 줄이다

reduce 연산자에서 누산기 함수는 입력 관찰 가능 항목에 사용되며 누산기 함수는 누산기 함수에 전달 된 선택적 시드 값과 함께 관찰 가능 형식으로 누적 된 값을 반환합니다.

reduce () 함수는 2 개의 인수, 하나의 누산기 함수, 두 번째는 시드 값을받습니다.

조인 연산자

다음은 Join 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 연결

이 연산자는 입력으로 주어진 Observable을 순차적으로 방출하고 다음으로 진행합니다.

2 forkJoin

이 연산자는 배열 또는 dict 객체에서 입력으로 취해지며 옵저버 블이 완료 될 때까지 기다렸다가 주어진 옵저버 블에서 방출 된 마지막 값을 반환합니다.

병합

이 연산자는 Observable 입력을 받고 Observable에서 모든 값을 방출하고 하나의 Observable 출력을 방출합니다.

4 경주

관찰 가능한 첫 번째 소스의 미러 사본이 될 관찰 대상을 돌려줍니다.

변환 연산자

다음은 변환 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 완충기

버퍼는 관찰 가능 항목에서 작동하며 관찰 가능 항목으로 인수를받습니다. 배열의 원래 Observable에서 방출 된 값을 버퍼링하기 시작하고 인수로 취해진 Observable이 방출 될 때 동일하게 방출합니다. 인수로 취해진 관찰 가능 항목이 방출되면 버퍼가 재설정되고 입력 관찰 가능 항목이 방출되고 동일한 시나리오가 반복 될 때까지 원본에서 다시 버퍼링을 시작합니다.

2 bufferCount

buffercount () 연산자의 경우 호출 된 Observable에서 값을 수집하고 buffercount에 지정된 버퍼 크기가 일치 할 때 동일한 값을 내 보냅니다.

bufferTime

이는 bufferCount와 유사하므로 여기에서 호출되는 Observable에서 값을 수집하고 bufferTimeSpan이 완료되는 것을 내 보냅니다. 그것은 하나의 인수 즉 bufferTimeSpan을 받습니다.

4 bufferToggle

bufferToggle ()의 경우 2 개의 인수, openings 및 closingSelector를 사용합니다. 여는 인수는 구독 가능하거나 버퍼를 시작하겠다는 약속이고 두 번째 인수 closingSelector는 다시 구독 가능하거나 표시기가 버퍼를 닫고 수집 된 값을 방출하도록 약속합니다.

5 버퍼

이 연산자는 배열 형식으로 값을 제공하며 버퍼를 닫고, 내보내고 재설정 할시기를 결정하는 함수로 하나의 인수를받습니다.

6 넓히다

확장 연산자는 관찰 가능한 소스와 관찰 가능한 출력에도 적용되는 인수로 함수를받습니다. 최종 값은 관찰 가능합니다.

7 groupBy

groupBy 연산자에서 출력은 특정 조건에 따라 그룹화되며 이러한 그룹 항목은 GroupedObservable로 내보내집니다.

8 지도

맵 연산자의 경우 소스 Observable의 각 값에 프로젝트 함수가 적용되고 동일한 출력이 Observable로 방출됩니다.

9 mapTo

소스 Observable이 값을 내보낼 때마다 Observable과 함께 상수 값이 출력으로 제공됩니다.

10 mergeMap

mergeMap 연산자의 경우 각 소스 값에 프로젝트 함수가 적용되고 그 출력이 Observable 출력과 병합됩니다.

11 switchMap

switchMap 연산자의 경우 각 소스 값에 프로젝트 함수가 적용되고 그 출력은 Observable 출력과 병합되며 주어진 값은 가장 최근에 투영 된 Observable입니다.

12 창문

관찰 가능한 인수 windowboundaries를 취하고 주어진 windowboundaries가 방출 할 때마다 중첩 된 Observable을 돌려줍니다.

필터링 연산자

다음은 필터링 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 디 바운스

잠시 후 Observable 소스에서 방출 된 값과 방출은 Observable 또는 promise로 지정된 다른 입력에 의해 결정됩니다.

2 debounceTime

시간이 완료된 후에 만 ​​관찰 가능한 소스에서 값을 방출합니다.

뚜렷한

이 연산자는 이전 값과 비교할 때 구별되는 관찰 가능한 소스의 모든 값을 제공합니다.

4 elementAt

이 연산자는 주어진 인덱스를 기반으로 관찰 가능한 소스에서 단일 값을 제공합니다.

5 필터

이 연산자는 주어진 조건 자 함수를 기반으로 소스 Observable에서 값을 필터링합니다.

6 먼저

이 연산자는 Observable 소스가 내 보낸 첫 번째 값을 제공합니다.

7 마지막

이 연산자는 소스 Observable이 내 보낸 마지막 값을 제공합니다.

8 ignoreElements

이 연산자는 소스 Observable의 모든 값을 무시하고 완료 또는 오류 콜백 함수 호출 만 실행합니다.

9 견본

이 연산자는 소스 Observable에서 가장 최근 값을 제공하며 출력은 전달 된 인수에 따라 다릅니다.

10 건너 뛰기

이 연산자는 입력으로 취해진 카운트 항목의 첫 번째 발생을 건너 뛰는 관찰 가능 항목을 반환합니다.

11 조절판

이 연산자는 인수로 취해진 입력 함수에 의해 결정된 시간 동안 관찰 가능한 소스의 값을 출력하고 무시하며 동일한 프로세스가 반복됩니다.

유틸리티 운영자

다음은 유틸리티 운영자 카테고리에서 논의 할 운영자입니다.

Sr. 아니요 연산자 및 설명
1 꼭지

이 연산자는 소스 관찰 가능과 동일한 출력을 가지며 관찰 가능 항목에서 사용자에게 값을 기록하는 데 사용할 수 있습니다. 주요 값, 오류 (있는 경우) 또는 작업이 완료된 경우.

2 지연

이 연산자는 주어진 시간 초과에 따라 소스 Observable에서 방출되는 값을 지연시킵니다.

delayWhen

이 연산자는 입력으로 사용 된 다른 Observable의 시간 초과를 기반으로 소스 Observable에서 방출되는 값을 지연시킵니다.

4 관찰하다

입력 스케줄러를 기반으로하는이 연산자는 소스 Observable에서 알림을 다시 보냅니다.

5 subscribeOn

이 연산자는 입력으로 사용 된 스케줄러를 기반으로 소스 Observable에 대한 비동기 구독을 돕습니다.

6 timeInterval

이 연산자는 취해진 스케줄러 입력을 사용하여 계산 된 현재 값과 현재 값과 이전 값 사이에 경과 된 시간을 포함하는 객체를 반환합니다.

7 타임 스탬프

값이 방출 된 시간을 알려주는 소스 Observable에서 방출 된 값과 함께 타임 스탬프를 반환합니다.

8 타임 아웃

이 연산자는 소스 Observable이 주어진 시간 초과 후에 값을 내 보내지 않으면 오류를 발생시킵니다.

9 toArray

Observable에서 모든 소스 값을 누적하고 소스가 완료되면 배열로 출력합니다.

조건부 연산자

다음은 조건부 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 defaultIfEmpty

이 연산자는 관찰 가능한 소스가 비어있는 경우 기본값을 반환합니다.

2 ...마다

소스 Observable의 각 값에 대한 조건을 충족하는 입력 함수를 기반으로 Observable을 반환합니다.

찾기

소스 Observable의 첫 번째 값이 입력으로 취해진 술어 함수의 조건을 충족 할 때 관찰 가능을 리턴합니다.

4 findIndex

입력 스케줄러를 기반으로하는이 연산자는 소스 Observable에서 알림을 다시 보냅니다.

5 비었다

이 연산자는 입력 관찰 가능 항목이 값을 내 보내지 않고 완전한 콜백으로 이동하면 출력을 true로, 입력 관찰 가능 항목이 값을 내 보내면 false를 제공합니다.

멀티 캐스팅 연산자

다음은 멀티 캐스팅 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 멀티 캐스트

멀티 캐스트 운영자는 생성 된 단일 구독을 다른 구독자와 공유합니다. 멀티 캐스트가받는 매개 변수는 connect () 메서드가있는 ConnectableObservable을 반환하는 주체 또는 팩토리 메서드입니다. 구독하려면 connect () 메서드를 호출해야합니다.

2 출판하다

이 연산자는 ConnectableObservable을 반환하고 connect () 메서드를 사용하여 옵저버 블을 구독해야합니다.

publishBehavior

publishBehaviour는 BehaviourSubject를 사용하고 ConnectableObservable을 반환합니다. connect () 메서드를 사용하여 생성 된 Observable을 구독해야합니다.

4 publishLast

publishBehaviour는 AsyncSubject를 사용하고 ConnectableObservable을 다시 반환합니다. connect () 메서드를 사용하여 생성 된 Observable을 구독해야합니다.

5 publishReplay

publishReplay는 값을 버퍼링하고 새 구독자에게 동일하게 재생할 수있는 동작 주제를 사용하고 ConnectableObservable을 반환합니다. connect () 메서드를 사용하여 생성 된 Observable을 구독해야합니다.

6 공유

mutlicast () 연산자의 별칭이지만 구독을 시작하기 위해 수동으로 connect () 메서드를 호출 할 필요가 없다는 점만 다릅니다.

오류 처리 연산자

다음은 오류 처리 연산자 범주에서 논의 할 연산자입니다.

Sr. 아니요 연산자 및 설명
1 catchError

이 연산자는 새 Observable 또는 오류를 반환하여 소스 Observable에서 오류를 잡는 것을 처리합니다.

2 다시 해 보다

이 연산자는 오류가있는 경우 소스 Observable에서 재 시도를 처리하고 제공된 입력 횟수에 따라 재 시도를 수행합니다.