【发布时间】:2017-08-03 09:04:33
【问题描述】:
我有一个主题
const subj$$ = new Rx.Subject();
和迟到的订阅者
subj$$.next('value');
setTimeout(() => {
subj$$.subscribe(console.log, console.error);
}, 500);
正如预期的那样,500 毫秒后什么都没有发生
但是……
如果我抛出错误
subj$$.error('error');
setTimeout(() => {
subj$$.subscribe(console.log, console.error);
}, 500);
迟到的观察者处理这个错误!!!
为什么? 我认为对后期观察者有一致的行为是合乎逻辑的。 并且不要通知他们,但事实并非如此
【问题讨论】:
-
Subject类不会重播任何值。这就是ReplaySubject或BehaviorSubject所做的。