美文网首页
[RxSwift] Subject

[RxSwift] Subject

作者: 巨馍蘸酱 | 来源:发表于2023-03-21 15:10 被阅读0次

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

    PublishSubject 将对观察者发送订阅后产生的元素,而在订阅前发出的元素将不会发送给观察者。订阅者只能接收订阅后的事件,适合发送新的事件 let subject = PublishSubject<String>()

    ReplaySubject 将对观察者发送全部的元素,无论观察者是何时进行订阅的。 let subject = ReplaySubject<String>.create(bufferSize: 1)

    当观察者对 BehaviorSubject 进行订阅时,它会将源 Observable 中最新的元素发送出来(如果不存在最新的元素,就发出默认元素)。然后将随后产生的元素发送出来。如果源 Observable 因为产生了一个 error 事件而中止, BehaviorSubject 就不会发出任何元素,而是将这个 error 事件发送出来。let subject = BehaviorSubject(value: "abc")

    https://beeth0ven.github.io/RxSwift-Chinese-Documentation/content/rxswift_core/observable_and_observer.html

    相关文章

      网友评论

          本文标题:[RxSwift] Subject

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