Axios

Axios 是一个基于Promise的HTTP客户端,用于在浏览器和node.js环境中发送HTTP请求。它提供了一种简单而直观的方式来进行网络请求,并且支持多种请求方法,如 GET、POST、PUT、DELETE 等。

Axios 的特点:

支持Promise API,使得异步操作更加简洁。
支持请求和响应拦截。
支持转换请求和响应数据。
客户端支持防止CSRF攻击。
提供了并发请求的接口。

Axios 使用示例:

  1. import axios from 'axios';
  2. // 发起GET请求
  3. axios.get('/user?ID=12345')
  4. .then(function (response) {
  5. // 处理成功情况
  6. console.log(response.data);
  7. })
  8. .catch(function (error) {
  9. // 处理错误情况
  10. console.log(error);
  11. })
  12. .then(function () {
  13. // 总是会执行
  14. });
  15. // 发起POST请求
  16. axios.post('/user', { name: '新用户', age: 28 })
  17. .then(function (response) {
  18. console.log(response.data);
  19. })
  20. .catch(function (error) {
  21. console.log(error);
  22. });

Await

await 是 ES2017 引入的一个关键字,它用于等待一个异步操作的结果。await 只能在 async 函数内部使用。

Await 的使用:

await 关键字可以使得异步代码的编写方式更接近同步代码,使得代码更易于阅读和维护。

Await 使用示例:

  1. async function getUserInfo() {
  2. try {
  3. // 等待axios的GET请求响应
  4. const response = await axios.get('/user?ID=12345');
  5. console.log(response.data); // 处理响应数据
  6. // 可以继续等待其他异步操作
  7. const anotherResponse = await axios.post('/user', { name: '新用户', age: 28 });
  8. console.log(anotherResponse.data);
  9. } catch (error) {
  10. // 处理错误
  11. console.log(error);
  12. }
  13. }
  14. // 调用异步函数
  15. getUserInfo();

在上述示例中,await 关键字使得我们能够等待 axios.get 和 axios.post 的结果,而不需要使用 .then() 和 .catch() 链式调用。这使得异步代码的流程控制和错误处理更加直观和简洁。