我目前正在使用它执行通知:
/**
* Create notifications that broacast
* the entire set of entries.
*/
protected notify = new ReplaySubject<E[]>(1);
IIUC我可以用ReplaySubject<E[]>(1)
来切换AsyncSubject<E[]>()
吗?
这是苹果到苹果的转换,还是语义上的差异?
答案 0 :(得分:5)
不,它们非常不同。
ReplaySubject(1)将始终重播最新的发射,无论观察者何时订阅。它可以发射任意次。
AsyncSubject忽略所有发射,直到可观察值完成为止,然后发射最后一个发射值。它只能发射一次(最多),当发射一次时,它也会完成。