📜  axios try catch 获取状态码 - Javascript(1)

📅  最后修改于: 2023-12-03 15:13:35.196000             🧑  作者: Mango

以'axios try catch 获取状态码 - Javascript'为主题介绍

在前端开发中,我们经常需要从后端 API 获取数据,并根据获取的状态码来判断请求是否成功。在使用 axios 进行数据请求时,我们可以使用 try-catch 块来捕获网络错误,从而更好地处理返回的状态码。

axios

axios 是一个基于 Promise 的 HTTP 客户端,可以用于浏览器和 Node.js。它具有以下特性:

  • 可以拦截请求和响应
  • 转换请求和响应数据
  • 自动转换 JSON 数据
  • 可以取消请求
  • 集成了 CSRF/XSRF 防御

axios 的使用非常简单,我们可以直接在项目中引入 axios,然后调用 axios.get()、axios.post() 等方法即可。

import axios from 'axios';

axios.get('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => console.log(response.data))
  .catch(error => console.error(error));
获取状态码

在获取数据时,我们经常需要获取请求返回的状态码来判断请求是否成功。在 axios 中,我们可以在 catch 块中获取状态码。

import axios from 'axios';

axios.get('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => console.log(response.data))
  .catch(error => {
    console.error(error);
    console.log(error.response.status);
  });

上面的代码中,我们在 catch 块中输出错误信息,并通过 error.response.status 获取了请求返回的状态码。

使用 try-catch 捕获错误

除了在 catch 块中获取状态码外,我们还可以使用 try-catch 块来捕获网络错误。

import axios from 'axios';

try {
  const response = await axios.get('https://jsonplaceholder.typicode.com/todos/1')
  console.log(response.data);
} catch (error) {
  console.error(error);
  console.log(error.response.status);
}

上面的代码中,我们使用 try-catch 块来捕获网络错误,并在 catch 块中输出错误信息和获取状态码。需要注意的是,在使用 try-catch 块时,我们需要使用 await 关键字来等待请求的完成。

总结

使用 axios 获取数据时,我们可以根据请求返回的状态码来判断请求是否成功。在 catch 块中,我们可以使用 error.response.status 获取状态码;而在使用 try-catch 块时,我们需要使用 await 关键字来等待请求的完成。axios 的使用非常简单,建议在项目中使用它进行数据请求。