Javascript Axios错误状态代码未处理PromisejectionWarning

Javascript Axios错误状态代码未处理PromisejectionWarning,javascript,node.js,express,axios,Javascript,Node.js,Express,Axios,使用axios,我向多个链接发出GET请求,以测试它们是否是断开的链接。如果GET请求返回错误,我希望将此错误记录到控制台,并使用套接字将其发送到客户端。但是,在某些链接(并非全部)上,我收到了一条未处理的PromisejectionWarning // check if the link is dead axios.get(linkHref, { auth: { username: USERNAME, password: PASSWORD } }) .then(

使用axios,我向多个链接发出GET请求,以测试它们是否是断开的链接。如果GET请求返回错误,我希望将此错误记录到控制台,并使用套接字将其发送到客户端。但是,在某些链接(并非全部)上,我收到了一条
未处理的PromisejectionWarning

// check if the link is dead
axios.get(linkHref, {
   auth: {
     username: USERNAME,
     password: PASSWORD
   }
})
.then( (response) => {
  if (response.status != 200) {
    resultData = {
      text: linkText,
      url: linkHref,
      statusCode: String(response.status)
    }
    console.log(resultData);
    io.sockets.emit("result", resultData); // send link to client-side
  }
})
.catch( (error) => {
if (error) {
    resultData = {
      text: linkText,
      url: linkHref,
      statusCode: String(error.response.status) // this is where the error is
   }
   console.log(resultData);
   io.sockets.emit("result", resultData); // send link to client-side
  }
});
我希望它能正常工作并返回错误的状态代码,但有时我会得到一个
未处理的PromisejectionWarning:TypeError:无法读取未定义的
错误的属性“status”。但是,对于
.catch
中的if语句,我正在检查以确保存在错误,并且它不是未定义的,因此我不理解为什么会出现此错误


编辑:而且,当我在Mac电脑上运行它时,它也能工作(不会显示错误),但在Windows上不运行。。。为什么?

您可以通过验证是否在if-else条件下获取错误对象的响应属性来检查吗

.catch( (error) => {
if (error.response) {
   //rest of the code...
  }
});

TypeError:无法读取未定义的属性“status”
错误的响应属性。未定义响应,例如
error={response:undefined}
。因此,引用其上的任何属性都会引发错误<代码>错误。响应[属性]

此外,对于失败/挂起的http请求,错误参数也不同。看看这个要点。对于这种情况,错误参数将具有不同的属性