行为主体对可观察的?我正在研究RxJ的角度模式,我不明白BehaviorSubject和一个Observable.据我理解,BehaviorSubject是一个可以随时间变化的值(可以订阅,订阅者可以接收更新的结果)。这似乎是一个完全相同的目的Observable.你什么时候会用Observablevs.aBehaviorSubject?使用BehaviorSubject超过一个Observable反之亦然?
3 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
行为主体
它需要一个初始值,因为它必须始终在订阅时返回一个值,即使它没有收到 next()订阅时,它返回主题的最后一个值。可观察到的常规触发器只在接收到 onnext在任何时候,您都可以使用 getValue()方法。
它是一个观察者,除了是一个可观察的,所以你也可以发送值给一个主题,除了订阅它。
asObservable()BehaviorSubject.
可观察BehaviorSubject
// Behavior Subject// a is an initial value. if there is a subscription // after this, it would get "a" value immediatelylet bSubject = new BehaviorSubject("a"); bSubject.next("b");bSubject.subscribe(value => {
console.log("Subscription got", value); // Subscription got b,
// ^ This would not happen
// for a generic observable
// or generic subject by default});bSubject.next("c"); // Subscription got cbSubject.next("d"); // Subscription got d// Regular Subjectlet subject = new Subject(); subject.next("b");subject.subscribe(value => {
console.log("Subscription got", value); // Subscription wont get
// anything at this point});subject.next("c"); // Subscription got csubject.next("d"); // Subscription got dSubjectBehaviorSubjectsubject.asObservable().
next()
BehaviorSubject
- 3 回答
- 0 关注
- 328 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消
