【问题标题】:Differentiate between Observables, Subjects, ReplaySubjects, Behaviour Subjects?区分 Observables、Subjects、ReplaySubjects、Behavior Subjects?
【发布时间】:2018-05-23 21:36:42
【问题描述】:

请分享一些示例/代码 sn-ps。我读了代码,但我的理解不是很清楚。

【问题讨论】:

  • 欢迎来到 StackOverflow!从本质上讲,这不是一个可怕的问题,但为了避免投票,您可能应该重新措辞,以便您有示例代码,可能是两个或三个 sn-ps,您不确定使用哪个来解释您的原因重新问它。有意义吗?

标签: angular rxjs observable web-frontend


【解决方案1】:

您可以将它们全部描绘为流。

  • Observable:订阅它以获取值
  • 主题:相同,但您也可以控制要 emit 进入其中的值(可以订阅但也可以发出)
  • ReplaySubject:与主题相同,但会跟踪最近发出的 N 个值,并且每次订阅它时,它都会发出这 N 个值
  • BehaviorSubject:您必须设置默认值的主题,如果您在发出任何内容之前订阅它,您将获得默认值

Observable 和 Subject:如果您发出一个值并在此之后订阅其中一个,您将不会获得最新发出的值,您必须等待一个新值出现在您收到通知之前发出

ReplaySubject 和 BehaviorSubject:即使您发出一个值然后订阅其中一个,您在订阅后会直接获得最新发出的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多