Angular 如何防止在errorhandler中抛出错误?
目前,在我的一种服务方法中,我有如下内容:Angular 如何防止在errorhandler中抛出错误?,angular,typescript,error-handling,Angular,Typescript,Error Handling,目前,在我的一种服务方法中,我有如下内容: this.get(foo).catch((e) => this.errorHandler(e)); 其中errorHandler是: errorHandler(error: HttpErrorResponse) { if (error.status === 422) { this.openSnackBar('Number already exists'); return Observable.throw(err
this.get(foo).catch((e) => this.errorHandler(e));
其中errorHandler是:
errorHandler(error: HttpErrorResponse) {
if (error.status === 422) {
this.openSnackBar('Number already exists');
return Observable.throw(error.message || 'Server Error');
} else {
return Observable.throw(error.message || 'Server Error');
}
}
虽然这样做很好,但它会抛出错误,我可以在控制台窗口中看到报告。我想知道,如果我在处理用户友好消息(如上面的snackbar示例)中的错误,如何防止它被抛出/显示在控制台窗口中
我只想捕获错误,检查状态并返回一个带有用户友好消息的snackbar。我注意到,如果删除上面的抛出,代码将停止工作 处理完异常(例如,通过显示警报、toast或其他方式)后,返回
Observable.empty()
而不是Observable.throw
。
Observable.empty
是一个可以立即“完成”而不“下一步”任何值的可观察对象;这将正确停止您的可观察流