→ 특정 조건을 스킵하고 넘어가는 오퍼레이터이다.

1. skip(_:)

입력한 갯수만큼 이벤트를 skip

Untitled

example(of: "skip") {
    Observable.of("A","B","C","D","E","F")
        .skip(3)
        .subscribe{
            print($0)
        }.disposed(by: disposeBag)
}
/*
--- Example of:skip---
next(D)
next(E)
next(F)
completed
*/

2. skipwhile

나의 언어 → 특정 플레그를 펄스를 만족시키는 emit이 올때까지 이벤트를 버림 펄스가 되면 어떤 이벤트가 오던 emit가능

example(of: "skipWhile") {
    Observable.of(2,3,2,2,2,3,4,4,2)
        .skip { num in
            num % 2 == 0
        }.subscribe{
            print($0)
        }.disposed(by: disposeBag)
}
/*
--- Example of:skipWhile---
next(3)
next(2)
next(2)
next(2)
next(3)
next(4)
next(4)
next(2)
completed
*/

3. skipUntil

→ 또 다른 subject를 두어서, 이 이벤트가 발생하기 전까지 evnet들을 skip

Untitled

example(of: "skipUntil") {
    let subject = PublishSubject<String>()
    let trigger = PublishSubject<String>()
    
    subject.skip(until: trigger)
        .subscribe{
            print($0)
        }.disposed(by: disposeBag)
    
    subject.onNext("A")
    subject.onNext("B")
    subject.onNext("C")
    trigger.onNext("TRIGGER ON")
//=======trigger =======================
    subject.onNext("D")
    subject.onNext("E")
}
/*
--- Example of:skipUntil---
next(D)
next(E)
*/