首页 > 解决方案 > 如何为任何 observable 实现共享(全局)catchError?

问题描述

图片,我有下一个代码:

if (something) {
    return A;
} else {
    return B;
}

A 和 B 是 Observables。

我想在他们两个中都捕获错误并以相同的方式处理。

如何实现这一点。

目前我会写这样的东西:

const errorHadler = ...;

if (something) {
    return A.pipe(
        catchError(errorHandler)
    )
} else {
    return B.pipe(
        catchError(errorHandler)
    )
}

是否可以对两个可观察对象仅使用一个 catchError?

标签: angulartypescriptrxjs

解决方案


希望这会有所帮助:

getData(){
 if (something) {
  return A;
 } else {
  return B;
 }
}

this.getData.subscribe(response=>
 {
  // if success do logic here
 }, error=>{
   // Have commonn error handling logic here
});

希望这可以帮助。


推荐阅读