使用Async / Await和vuejs中的axios处理状态不同于200的响应

问题描述 投票:1回答:1

我正在开发一个网站,该网站在async await函数中使用axios进行了请求,如下所示:

async function () {
  try {
    const response = await axios.get('requestUrl')
  } catch (e) {
    throw new Error(e)
  }
}

一切正常,但我不知道如何处理具有特定状态的错误(例如,当响应状态为400时显示特定消息)。我尝试使用e.status,但它不起作用,因此,我不知道要调用什么来获取请求的状态。我也尝试使用带有response.status的try函数,我知道它会以400状态响应,但它也不起作用。它只在response.status为200时才有效。

javascript vue.js ecmascript-6 async-await axios
1个回答
1
投票

使用error.response.status

async function () {
  try {
    const response = await axios.get('requestUrl')
  } catch (e) {
    if (e.response.status === 400) {
      // ...
    } else {
      // ...
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.