传奇和axios异常处理

时间:2019-12-29 02:06:52

标签: axios redux-saga

对于网络,我有这样的需求。我想使用axios来处理常规异常,并且在传奇中要处理一些个性化异常。但是有这样一个问题。例如,在axios中,我处理400个常见异常。例如,如果我也处理了400个个性化异常,则异常提示将出现两次。而且axios的提示比佐贺中的提示要早。

Axios

import axios from 'axios';

const onResponseSuccess = response => {
  return response;
};
const onResponseError = err => {
  const status = err.status || err.response.status;
  if (status === 403 || status === 401) {
    alert('no auth');
  }

  if (status >= 500 || status === 400) {
    console.error('[axios-global]invalid request');
  }
  return Window.Promise.reject(err);
};

axios.interceptors.response.use(onResponseSuccess, onResponseError);

传奇效果

function* testExceptionEffects() {
  try {
    yield call(getBadRequest); // return 400 exception
  } catch (e) {
    console.error('saga exception');
  }
}

例如,getBadRequest返回400,我想要传奇异常,而不是全局异常

例如,有400个异常返回,我们的某些功能需要个性化处理,而有些则需要全局统一处理。

https://github.com/redux-saga/redux-saga/issues/1997

0 个答案:

没有答案