javascript - RxJS 是否有办法处理订阅者 Uncaught Error ?

标签 javascript angular rxjs primeng

RxJS 允许使用 onNext、onError、onComplete 订阅源。

我正在寻找一种构建可观察对象的方法,该方法允许用户使用 onError 处理错误,但如果存在未处理的错误,我可以显示全局咆哮(来自 primeng 库的通知)。

有没有一种好方法来捕获未处理的订阅错误。

更新1: 我注意到 Angular2 有一个中央 ErrorHandler(模块级别)。问题是以某种方式将其附加到 UI。 https://angular.io/docs/ts/latest/api/core/index/ErrorHandler-class.html

最佳答案

如果您不订阅error事件,它将冒泡。您可以使用 try..catch 包装流来捕获这些流,以防止应用程序崩溃。

try {
  Rx.Observable.throw(new Error('not caught')).subscribe();  
}
catch(err) {
  console.log('caught', err);
}

关于javascript - RxJS 是否有办法处理订阅者 Uncaught Error ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41139364/

相关文章:

javascript - x(); 是什么意思?引用?

json - 如何在 Typescript 中声明具有特殊类型的变量

angular - 如何创建依赖于 Angular @Input() 值的只读 Observable?

javascript - 模型更改后 Angular View 不更新

javascript - Rxjs throttleTime - 我们需要使用 asObservable 吗?

javascript - 如何创建 Angular 服务以从本地存储获取数据(如果可用),否则调用 api 方法

javascript - ID包含方括号时按ID查找DOM元素?

javascript - 如何在 Node 中测试请求对象的属性

javascript - 使 CSS 网格或 Flex 元素大小相等,并在其之间拉伸(stretch)分隔符

javascript - [Rxjs]Zip 运算符什么时候报错?