서로 다른 타입의 옵저버블도 하나로 묶을 수 있다

Untitled

Indexed Sequencing

사용 예시

소스코드

둘 중 하나가 에러이벤트를 발생시키면 구독자에게 에러가 전달된다.

enum MyError: Error {
    case some
}

let obs1 = Observable.of(1, 2)

let obs2 = Observable<String>.create { observer in
    observer.onError(MyError.some)
    return Disposables.create()
}

Observable
    .zip(obs1, obs2)
    .subscribe(onNext: { print($0) }, onError: { error in
        print("error")
    })
    .disposed(by: disposeBag)

// "error" 출력

참고 자료