AsyncSubject

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

它会对随后的观察者发出最终元素。如果源 Observable 因为产生了一个 error 事件而中止, AsyncSubject 就不会发出任何元素,而是将这个 error 事件发送出来。
演示
1. let disposeBag = DisposeBag()
2. let subject = AsyncSubject<String>()
4. subject
5. .subscribe { print("Subscription: 1 Event:", $0) }
6. .disposed(by: disposeBag)
8. subject.onNext("?")
9. subject.onNext("?")
10. subject.onNext("?")
11. subject.onCompleted()
输出结果:
1. Subscription: 1 Event: next(?)
2. Subscription: 1 Event: completed
