본문 바로가기
RxSwift

[RxSwift] Operators - 조건과 Boolean(7)

by 고고 2021. 11. 29.

하나 이상의 Observable 또는 Observable이 배출한 항목을 평가하는 연산자들 - Amb, SkipUntil, SkipWhile, TakeUntil, TakeWhile

 

1. Amb

  • Amb — 두 개 이상의 소스 Observable이 주어 질때, 그 중 첫 번째로 항목을 배출한 Observable이 배출하는 항목들을 전달한다

구현부

public static func amb<Sequence: Swift.Sequence>(_ sequence: Sequence) -> Observable<Element>
        where Sequence.Element == Observable<Element> {
        sequence.reduce(Observable<Sequence.Element.Element>.never()) { a, o in
            a.amb(o.asObservable())
        }
    }

예시

let left = PublishSubject<String>()
let right = PublishSubject <String>() 

// 1
let observable = left.amb(right)

let disposable = observable.subscribe(onNext: { 
	print($0)
}) 

// 2 
left.onNext("Lisbon") 
right.onNext("Copenhagen") 
left.onNext("London") 
left.onNext("Madrid") 
right.onNext("Vienna") 


// Lisbon
// London
// Madrid

 

 

Skip, SkipUntil, SkipWhile, Take, TakeUntil, TakeWhile -> [RxSwift] Operators - 필터링(3)

 

 

 

 

출처 : http://reactivex.io/documentation/ko/operators.html

 

ReactiveX - Operators

연산자 소개 ReactiveX를 지원하는 언어 별 구현체들은 다양한 연산자들을 제공하는데, 이 중에는 공통적으로 제공되는 연산자도 있지만 반대로 특정 구현체에서만 제공하는 연산자들도 존재한다

reactivex.io

 

'RxSwift' 카테고리의 다른 글

[Rxswift] Operators - 연결(9)  (0) 2021.12.14
[RxSwift] Operators - 수학과 집계(8)  (0) 2021.11.29
[RxSwift] Operators - 유틸리티(6)  (0) 2021.11.29
[RxSwift] Operators - 오류 처리(5)  (0) 2021.11.20
[RxSwift] Operators - 결합(4)  (0) 2021.11.20

댓글