如何使用Redux-Observable + RxJS + Axios设置捕获超时错误?

时间:2018-10-26 16:37:25

标签: rxjs axios redux-observable

使用Redux-Observable + RxJS + Axios,当呼叫超时时返回的错误不包含任何状态码等。整个错误响应的整体为[TimeoutError: Timeout has occurred]。如何在该响应中捕获错误以显示通知?史诗如下:

const fetchUserEpic = (action$, state$) =>
  action$.pipe(
    ofType('FETCH_USER'),
    mergeMap(() =>
      from(axios.get(`/user/`)).pipe(
        timeout(5000),
        map(response => ({
          type: 'FETCH_USER_SUCCESS',
          data: response.data
        })),
        catchError(error =>
          of({
            type: 'FETCH_USER_ERROR',
            error
          })
        )
      )
    )
  );

1 个答案:

答案 0 :(得分:0)

传递到public void noExcelToExcel(String a) { char[] noExcel = a.toCharArray(); for (int i = 2; i <= 4; i++) { if (noExcel[i] == 'C') { char[] lin = new char[i - 1]; a.getChars(1, i, lin, 0); char[] col = new char[i - 1]; a.getChars(i + 1, a.length(), col, 0); break; } } // ... } 处理程序中的<div class="view-image" (panmove)="onPanMove($event)" (panstart)="onPanStart($event)" > 对象具有两个字符串属性:errorcatchError

整个对象基本上是这样的:

message

请参阅TimeoutError.ts implementation以供参考。

因此可以明显地处理rxjs超时,您可以检查:

name

(至少这是我针对与您非常相似的用例所做的事情。)