首页 > 解决方案 > 如何捕获从快速代理到 React 的错误?

问题描述

我使用 express 服务器作为我的 React 的代理,但问题是我无法在我的反应中恢复错误,无论我用户返回 next(err) 还是 res.send(err),最后一个都会转到然后但没有抓住。我该如何处理这个问题?

这是我的快速代理代码


axios({
      url:URL,
      method: "post",
      headers: header,
      data: body
    })
      .then(response => {

        res.send(response.data);
      })
      .catch(err => {
   
        res.send(err);
        // return next(err)
      });

这是我的反应动作

  axios
    .post("api/", body)
    .then(response => {
      console.log( response.data)

    })
    .catch(err => {
      console.log("I want to catch the error here, but. I can't ", err);
  
    });

标签: javascriptnode.jsreactjsexpressaxios

解决方案


你可以得到这样的错误:err.response.data 在我的例子中,我从后端得到了错误属性。所以,我使用了 err.response.data.error

我的代码:

 axios
  .get(`${API}`)
  .then(response => {
     return response.data
  })
  .then(data => {
     console.log(data)
  })
  .catch(error => {
     console.log(error.response.data.error)
  })`

推荐阅读