Catch()不处理404

时间:2016-12-02 22:40:46

标签: javascript api exception-handling promise catch-block

我正在创建一个脚本来从我的api中获取一些数据:

const success = (response) => {
  console.log(response);
};

const failed = (error) => {
  console.log(error);
};

axios.$http.get('/somedata')
  .then((response) => {
    success(response.data);
  })
  .catch((error) => {
    failed(error);
  });

/somepage是一个不存在的页面,因此它返回404.但是catch没有处理它。为什么不?在我的控制台中,我有错误TypeError: Cannot read property 'data' of undefined。为什么它不运行failed()函数?我不明白。

2 个答案:

答案 0 :(得分:0)

根据错误消息判断,它看起来像是成功(response.data);"被称为。是否有可能服务器成功返回一个页面,上面写着"错误404"而不是实际返回http响应代码404?

答案 1 :(得分:0)

发现它与处理401错误的自定义拦截器有关(但不是404错误)......