美文网首页iOS记录
8. RxSwift 插入发送合并压缩 startWith、me

8. RxSwift 插入发送合并压缩 startWith、me

作者: xxxixxxx | 来源:发表于2020-11-20 18:32 被阅读0次

startWith

在订阅的时候插入发送事件,后加入的先发送。完成事件发送时不会插入。

let ob = PublishSubject<String>()
ob.startWith("插入1").startWith("插入2").subscribe(onNext: { element in
    print(element)
}).disposed(by: disposeBag)
ob.onNext("发送1")
插入2
插入1
发送1

merge

合并操作,将多个 Observable 合并成一个

let ob1 = PublishSubject<String>()
let ob2 = PublishSubject<String>()
Observable.of(ob1,ob2).merge().subscribe { (event) in
    print(event)
}.disposed(by: disposeBag)
ob1.onNext("ob1 发1")
ob2.onNext("ob2 发1")
ob1.onNext("ob1 发2")
ob2.onNext("ob2 发2")

zip

将 n 个Observable压缩成一个发送事件,必须每个都参与的发送完才会发送一次事件。参与的成对发送完

let ob1 = PublishSubject<String>()
let ob2 = PublishSubject<String>()
Observable.zip(ob1,ob2).subscribe { (event) in
    print(event)
}

ob1.onNext("ob1  2")
ob1.onNext("ob1  3")
ob2.onNext("ob2  A")
ob2.onNext("ob2  B")
ob2.onNext("ob2  C")
ob1.onNext("ob1  1")

//next(("ob1  2", "ob2  A"))
//next(("ob1  3", "ob2  B"))
//next(("ob1  1", "ob2  C"))

相关文章

  • 8. RxSwift 插入发送合并压缩 startWith、me

    startWith 在订阅的时候插入发送事件,后加入的先发送。完成事件发送时不会插入。 merge 合并操作,将多...

  • RxJS 学习系列 8. 过滤操作符 startWith,fil

    startWith: 在开头添加要发送的元素startWith(an: Values): Observablefi...

  • 面向响应式编程 RP

    RxSwift RxSwift中文解释 RxSwift核心角色 Observable: 负责发送事件(Event)...

  • 面试汇总浏览器相关知识点

    前端性能优化方案? 减少页面体积,提升网络加载 静态资源的压缩合并(JS 代码压缩合并、CSS 代码压缩合并、雪碧...

  • 前端性能优化

    1. html压缩 2. css压缩,是否合并? 3. js压缩,是否合并? 4. 图片压缩,base64,雪碧图...

  • gulp-concat js-压缩并合并

    引入 gulp 模块 引入 uglify 压缩 模块 引入 js 合并模块 压缩 并 合并 js文件

  • 项目构建

    项目构建 gulp 合并、编译、压缩等 简单 使用 webpack 合并、编译、压缩等 强大 使用

  • 前端性能优化

    本文首发于kmac007.me 资源压缩合并,减少HTTP请求 由于HTTP是无状态协议,意味着每次HTTP请求都...

  • 性能优化总结

    资源的合并与压缩 核心:减少http请求数量(合并)减少资源请求大小(压缩) html压缩:压缩这些在文本文件中有...

  • RxSwift(IV)

    网络请求合并 RxSwift 网络请求封装网络安全请求合并: 打印: 参考资料: 观察序列创建

网友评论

    本文标题:8. RxSwift 插入发送合并压缩 startWith、me

    本文链接:https://www.haomeiwen.com/subject/lrnliktx.html