Rxjs:BehaviorSubject 值发射

Rxjs: BehaviourSubject value emission

我有一个行为主体BehaviorSubject<MyModel>(new MyModel)。根据我所做的阅读,我了解到每当对行为主题进行订阅时,订阅者都会在订阅完成后立即获得默认的 MyModel 对象。

但我对这种情况感到困惑,假设一些 ClassA 订阅了行为主题,然后在对其进行调整后在可观察对象上发出了一个值。 ClassA 发出后,ClassB 订阅主题,现在 ClassB 订阅接收 new MyModel() 对象或主题最后发出的模型。

如果需要进一步说明,请告诉我。

这开始是评论,后来变成了答案:

在您的方案中,ClassB 实例将获得您的 ClassA 实例发出的 MyModel 实例,不是 您创建的实例最初通过 new MyModel()

一般来说,BehaviorSubject 会立即触发新订阅的单个最近发出的值 - 这种行为定义了 BehaviorSubject - 与例如 ReplaySubject 立即发出 all 迄今为止在每个新订阅上发出的值。

请注意,这很容易通过经验证明: