行为主体对可观察的?我正在研究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 d
Subject
BehaviorSubject
subject.asObservable()
.
next()
BehaviorSubject
- 3 回答
- 0 关注
- 270 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消