6. RxSwift 订阅操作过滤1 map、buffer、filter

2021-03-14 19:34

阅读:909

标签:sch   async   swift   mmm   shu   个数   返回   搬迁   处理   

map

Swiftmap 用法一样,对值进行处理并返回

let sub = PublishSubject()

sub.map { $0 + "mmmmm" }
    .subscribe { event in
        print(event.element)
    }
    .disposed(by: disposeBag)
sub.onNext("a")
//Optional("ammmmm")

buffer

timeSpan 缓存间隔时间、 count 缓存个数 、 scheduler 线程
发送两个event后会触发订阅。满 2 秒也会触发订阅 ,如果event 没有发送空数组

let sub = PublishSubject()
sub.buffer(timeSpan: 2, count: 2, scheduler: MainScheduler.asyncInstance)
    .subscribe { event in
        print("订阅1", event)
    }.disposed(by: disposeBag)

sub.onNext("发送1")
sub.onNext("发送2")

filter

过滤 同Swiftfilter一样

let ob = Observable.of(10, 11, 12, 99, 33, 55, 77)
ob.filter { $0 > 20
}.subscribe(onNext: { element in
    print(element)
}).disposed(by: disposeBag)

搬迁自本人简书

6. RxSwift 订阅操作过滤1 map、buffer、filter

标签:sch   async   swift   mmm   shu   个数   返回   搬迁   处理   

原文地址:https://www.cnblogs.com/i2yf/p/14016621.html


评论


亲,登录后才可以留言!