ReplaySubject(1)与AsyncSubject()是否相同?

时间:2018-09-14 16:02:11

标签: javascript angular typescript rxjs

我目前正在使用它执行通知:

  /**
   * Create notifications that broacast
   * the entire set of entries.
   */
  protected notify = new ReplaySubject<E[]>(1);

IIUC我可以用ReplaySubject<E[]>(1)来切换AsyncSubject<E[]>()吗?

这是苹果到苹果的转换,还是语义上的差异?

1 个答案:

答案 0 :(得分:5)

不,它们非常不同。

ReplaySubject(1)将始终重播最新的发射,无论观察者何时订阅。它可以发射任意次。

AsyncSubject忽略所有发射,直到可观察值完成为止,然后发射最后一个发射值。它只能发射一次(最多),当发射一次时,它也会完成。