Menu
Menu
Posts List
  1. RxSwift:
    1. take 연산자
      1. 출력 결과
      2. 활용 예
    2. skip 연산자
      1. 출력 결과
      2. 활용 예
    3. 차이점

Take, Skip

RxSwift:

RxSwift에서 takeskip은 Observable의 이벤트 스트림에서 특정 이벤트만 필터링할 때 사용하는 연산자이다. 은근 사용할 일이 많은 이 두개의 연산자를 명확히 비교하기위해 작성!


take 연산자

지정한 숫자만큼의 이벤트를 가져오고, 그 이후의 이벤트는 무시

1
2
3
Observable.of(1, 2, 3, 4, 5)
.take(3)
.subscribe(onNext: { print($0) })

출력 결과

1
2
3
1
2
3

활용 예

  • 초기 값 몇 개만 가져오고 싶을 때
  • 특정 횟수까지만 유효한 스트림 처리 시

skip 연산자

지정한 숫자만큼의 이벤트를 건너뛰고, 그 이후의 이벤트부터 전달

1
2
3
Observable.of(1, 2, 3, 4, 5)
.skip(3)
.subscribe(onNext: { print($0) })

출력 결과

1
2
4
5

활용 예

  • 프롤로그성 이벤트 제외하고 처리할 때
  • 광고 스킵 후 본 컨텐츠만 받아보고 싶을 때 등

차이점

항목 take skip
역할 지정된 수만큼 받기 지정된 수만큼 건너뛰기
사용 의도 처음 일부만 필요할 때 처음 일부를 무시하고 싶을 때
이벤트 흐름 제어 스트림을 조기 종료 스트림은 유지되며 중간부터 시작