为什么订阅者会听到主题上的旧错误?

时间:2017-08-03 09:04:33

标签: 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(console.log, console.error);
}, 500);

晚观察者处理此错误!!!

为什么呢? 我认为为后期观察者提供一致的行为是合乎逻辑的。 并且不要通知他们,但事实并非如此

1 个答案:

答案 0 :(得分:2)

据我所知,答案与此处相同 https://stackoverflow.com/a/45478765/2772394

因此错误也已完成,但错误如此 所有迟到的观察者都被告知已经完成了序列(无论错误)