小编典典

主题和行为主题有什么区别?

all

我不清楚 aSubject和 a之间的区别BehaviorSubject。只是
aBehaviorSubject有这个getValue()功能吗?


阅读 94

收藏
2022-03-30

共1个答案

小编典典

一个 BehaviorSubject 拥有一个值。当它被订阅时,它会立即发出值。主题不包含值。

主题示例(使用 RxJS 5 API):

const subject = new Rx.Subject();
subject.next(1);
subject.subscribe(x => console.log(x));

控制台输出将为空

行为主体示例:

const subject = new Rx.BehaviorSubject(0);
subject.next(1);
subject.subscribe(x => console.log(x));

控制台输出:1

此外:

  • BehaviorSubject应该使用初始值创建:newRx.BehaviorSubject(1)
  • 考虑ReplaySubject您是否希望主题包含多个值
2022-03-30