Reactjs 响应请求错误捕获

Reactjs 响应请求错误捕获,reactjs,redux-saga,Reactjs,Redux Saga,我试图捕获http响应中的错误。我使用React redux作为前端。首先,我有一个简单的请求处理,检查每个请求的状态,根据状态代码返回响应或抛出错误: function checkStatus(response) { if (response.status >= 200 && response.status < 300) { return response; } return parseJSON(response).then(responseF

我试图捕获http响应中的错误。我使用React redux作为前端。首先,我有一个简单的请求处理,检查每个请求的状态,根据状态代码返回响应或抛出错误:

function checkStatus(response) {
  if (response.status >= 200 && response.status < 300) {
    return response;
  }

  return parseJSON(response).then(responseFormatted => {
    const error = new Error(response.error);
    error.response = response;
    error.response.payload = responseFormatted;
    throw error;
  });
}
在我的redux传奇的后面,我试图抓住这个错误:

export function* func() {
  try {
    let requestURL = "some url";

    const response = yield call(request, requestURL, { method: 'POST', body });

    if (response.accessToken) {
        'Authenticate'
    }
  } catch (error) {
    console.log(error);
  }
}
它将错误返回到我的控制台,即:

Error at eval line const error = new Error(response.error);
也许有人能告诉我我做错了什么

Fetch(native和polyfill)和库(如Axios)具有已管理的捕获功能,无需管理错误代码,即:

//使用AXIOS的示例
axios.get('/user?ID=12345')
.然后(功能(响应){
//成功
控制台日志(响应);
})
.catch(函数(错误){
//处理错误
console.log(错误);
})
.然后(函数(){
//总是执行
});
//FETCH示例
fetch('flowers.jpg')。然后(函数(响应){
if(response.ok){
返回response.blob();
}
抛出新错误('网络响应不正常');
}).then(函数(myBlob){
var objectURL=URL.createObjectURL(myBlob);
myImage.src=objectURL;
}).catch(函数(错误){
console.log('提取操作出现问题:'+error.message);

});谢谢你的回答,但我需要自定义我的请求,这就是为什么我想编写自己的请求处理。
Error at eval line const error = new Error(response.error);