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

标签 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);

迟到的观察者处理了这个错误!!!

为什么? 我认为对于晚期观察者来说,保持一致的行为是合乎逻辑的。 并且不通知他们但事实并非如此

最佳答案

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

所以错误也完成了,但是有错误所以 所有迟到的观察者都会收到序列已完成的通知(无论错误如何)

关于rxjs - 为什么订阅者会听到主题上的旧错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45479619/

相关文章:

angular - 链接多个 RxJS Observable 运算符的问题

javascript - 重构链式 RxJs 订阅

Angular 表单控件值更改不通知

reactjs - 为什么按钮点击触发与setTimeout()触发不同?

angular - 收到特定 http 状态后重试 http 调用

javascript - 为什么rxjs每次打印一个字符?

javascript - 出错后继续订阅

angular - RxJS 重构嵌套 map 语句

javascript - .first() 运算符影响其他订阅

angular - ngrx:提供的参数与调用目标的任何签名都不匹配