Rxjs 为什么订阅者听到关于某个主题的旧错误?
我有一个主题Rxjs 为什么订阅者听到关于某个主题的旧错误?,rxjs,rxjs5,Rxjs,Rxjs5,我有一个主题 const subj$$ = new Rx.Subject(); 和迟订户 subj$$.next('value'); setTimeout(() => { subj$$.subscribe(console.log, console.error); }, 500); 正如预期的那样,500毫秒后不会发生任何事情 但是 如果我抛出错误 subj$$.error('error'); setTimeout(() => { subj$$.subscribe(co
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
所做的。