当前位置: 首页 > 文档资料 > RxSwift 中文文档 >

AsyncSubject

优质
小牛编辑
135浏览
2023-12-01

AsyncSubject

AsyncSubject 将在源 Observable 产生完成事件后,发出最后一个元素(仅仅只有最后一个元素),如果源 Observable 没有发出任何元素,只有一个完成事件。那 AsyncSubject 也只有一个完成事件。

它会对随后的观察者发出最终元素。如果源 Observable 因为产生了一个 error 事件而中止, AsyncSubject 就不会发出任何元素,而是将这个 error 事件发送出来。


演示

let disposeBag = DisposeBag()
let subject = AsyncSubject<String>()

subject
  .subscribe { print("Subscription: 1 Event:", $0) }
  .disposed(by: disposeBag)

subject.onNext("")
subject.onNext("")
subject.onNext("")
subject.onCompleted()

输出结果:

Subscription: 1 Event: next()
Subscription: 1 Event: completed