Merge

记录一个小小测试结果

merge 将多个sequences 合并为一个sequence

let subject1 = PublishSubject<Int>()
        let subject2 = PublishSubject<Int>()
        
        Observable.of(subject1, subject2)
            .merge()
            .subscribe {
                print($0)
        }.addDisposableTo(disposeBag)
        
        let e = myError()
        subject1.onNext(10)
        subject1.on(.next(10))
        subject1.on(.next(11))
        subject1.on(.next(12))
        subject2.on(.next(20))
        subject2.on(.next(21))
        subject1.on(.next(14))
        subject1.on(.error(e))// 只要出现error 所有流均终止
        subject2.on(.next(22))
        subject2.on(.completed)

输出结果:

next(10)
next(10)
next(11)
next(12)
next(20)
next(21)
next(14)
error(myError())

只要任意sequence 遇到error 就会中断所有sequence

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容