RxSwift-调度器

2021-10-30  本文已影响0人  yyggzc521

Schedulers

是RxSwift实现多线程的核心。它主要用于控制任务在哪个线程或队列运行

平时的开发中,网络请求都是在后台执行的,获取到数据之后,再在主线程更新UI

let rxData: Observable<Data> = ...

rxData
    .subscribeOn(ConcurrentDispatchQueueScheduler(qos: .userInitiated))
    .observeOn(MainScheduler.instance)
    .subscribe(onNext: { [weak self](data) in
        // 更新UI
    })
    .disposed(by: disposeBag)
  1. MainScheduler: 代表主线程,如果执行和UI相关的任务,就需要切换到该 Scheduler 运行
  2. ConcurrentDispatchQueueScheduler:抽象的并行DispatchQueue。如果需要执行一些并发任务,可以切换到这个 Scheduler执行

相关资料

上一篇 下一篇

猜你喜欢

热点阅读