javascript - 在 vuejs 中使用 Asyn/Await 和 axios 处理状态不同于 200 的响应
问题描述
我正在一个网站上工作,该网站在异步等待函数中使用 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 时有效。
解决方案
使用error.response.status
:
async function () {
try {
const response = await axios.get('requestUrl')
} catch (e) {
if (e.response.status === 400) {
// ...
} else {
// ...
}
}
}
推荐阅读
- html - 使用 flexbox 的基于列的网格
- sorting - 液体过滤器是否与项目相同?
- javascript - 打字稿接口扩展模拟
- java - 如何将 maven 模块嵌入为 .class 依赖项而不是 jars?
- .net-core - 仅编译时 Nuget 依赖项 (FxCop)
- c# - 为什么 ReadProcessMemory 总是返回 false?
- html - 当 ID 不存在时,使用“elementbyID”进行抓取如何返回 0 值?
- python - 如何在后台使用依赖的 shell 命令运行 python 脚本
- c# - 如何将数据写入文本文件一次是相同的数据?以及如何回读和分配?
- ios - 尝试将多个值附加到 Swift 字典中的同一个键