1

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

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

如果需要进一步澄清,请告诉我。

4

1 回答 1

2

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

在您的场景中,ClassB实例将获取您的MyModel实例发出的ClassA实例,而不是您最初通过new MyModel().

通常,BehaviorSubject立即在新订阅上触发单个最近发出的值 - 这种行为定义了 a BehaviorSubject- 与例如,aReplaySubject立即发出迄今为止在每个新订阅上发出的所有值。

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

于 2016-10-04T06:27:27.430 回答