Combining Operator

w0308h 3월 5일 PM 04:22 2 0
w0308h Profile Image Level 9
2 #TIL

RxSwift에서 Combining Operator는 둘 이상의 Observable을 조합하여 새로운 Observable을 생성하는 함수입니다. Combining Operator는 대표적으로 다음과 같은 함수가 있습니다.

  1. combineLatest
    • 최신 값들을 결합하여 새로운 Observable을 생성합니다.
    • 결합한 Observable 중 하나라도 이벤트를 발생시키면, 모든 Observable의 최신 값들을 결합하여 전달합니다.
    • 예를 들어, Observable A와 Observable B가 있을 때, A가 1, 2, 3을 발생시키고 B가 "A", "B", "C"를 발생시킨다면, combineLatest 연산자를 사용하여 (3, "A"), (3, "B"), (3, "C")를 전달할 수 있습니다.
  2. zip
    • 여러 Observable의 이벤트를 순서대로 조합하여 새로운 Observable을 생성합니다.
    • Observable 중 하나라도 이벤트를 발생시키지 않으면, 이벤트를 전달하지 않습니다.
    • 예를 들어, Observable A와 Observable B가 있을 때, A가 1, 2, 3을 발생시키고 B가 "A", "B", "C"를 발생시킨다면, zip 연산자를 사용하여 (1, "A"), (2, "B"), (3, "C")를 전달할 수 있습니다.
  3. merge
    • 여러 Observable이 발생시키는 이벤트를 하나의 Observable로 합쳐 전달합니다.
    • Observable 중 하나가 이벤트를 발생시키면, 발생된 이벤트를 전달합니다.
    • 예를 들어, Observable A와 Observable B가 있을 때, A가 1, 3, 5을 발생시키고 B가 2, 4, 6을 발생시킨다면, merge 연산자를 사용하여 1, 2, 3, 4, 5, 6을 전달할 수 있습니다.
  4. startWith
    • Observable의 이벤트 발생 전에 값을 먼저 발생시킵니다.
    • 예를 들어, Observable A가 1, 2, 3을 발생시킨다면, startWith 연산자를 사용하여 "Start"를 먼저 발생시키면, "Start", 1, 2, 3을 전달할 수 있습니다.
  5. withLatestFrom
    • 다른 Observable이 발생시키는 최신 값을 결합합니다.
    • 첫 번째 Observable이 이벤트를 발생시키면, 두 번째 Observable의 최신 값을 결합하여 전달합니다.
    • 예를 들어, Observable A와 Observable B가 있을 때, A가 1, 2, 3을 발생시키고 B가 "A", "B", "C"를 발생시킨다면, withLatestFrom 연산자를 사용하여 (3, "C")를 전달할 수 있습니다.
댓글