Axios 面试题

Axios 面试题

  1. 问题描述: 什么是 Axios?它的主要特点是什么?

    答案: Axios 是一个基于 Promise 的 HTTP 客户端库,用于在浏览器和 Node.js 中发送 HTTP 请求。它具有以下主要特点:

    • 支持浏览器和 Node.js 环境。
    • 提供简单且一致的 API,易于使用。
    • 支持 Promise API,可以处理异步操作。
    • 提供拦截器(interceptors)来在请求和响应之间添加自定义逻辑。
    • 支持请求和响应的取消操作。
    • 自动转换请求和响应的数据格式。
    • 提供错误处理和异常转换机制。
  2. 问题描述: 如何在浏览器中使用 Axios 发送 GET 请求?给出一个示例。

    答案: 在浏览器中使用 Axios 发送 GET 请求,可以使用 axios.get() 方法。以下是一个示例:

    axios.get('/api/users')
      .then(response => {
        console.log(response.data);
      })
      .catch(error => {
        console.error(error);
      });
    
  3. 问题描述: 如何在 Node.js 中使用 Axios 发送 POST 请求?给出一个示例。

    答案: 在 Node.js 中使用 Axios 发送 POST 请求,可以使用 axios.post() 方法。以下是一个示例:

    axios.post('/api/users', { name: 'Alice', age: 30 })
      .then(response => {
        console.log(response.data);
      })
      .catch(error => {
        console.error(error);
      });
    
  4. 问题描述: 如何在 Axios 中使用拦截器(interceptors)?给出一个示例。

    答案: 在 Axios 中使用拦截器可以通过 axios.interceptors 对象来添加请求和响应拦截器。以下是一个示例:

    // 添加请求拦截器
    axios.interceptors.request.use(config => {
      // 在发送请求之前做些什么
      console.log('请求拦截器', config);
      return config;
    }, error => {
      // 处理请求错误
      console.error('请求拦截器错误', error);
      return Promise.reject(error);
    });
    
    // 添加响应拦截器
    axios.interceptors.response.use(response => {
      // 对响应数据做些什么
      console.log('响应拦截器', response);
      return response;
    }, error => {
      // 处理响应错误
      console.error('响应拦截器错误', error);
      return Promise.reject(error);
    });
    
  5. 问题描述: 如何在 Axios 中处理请求和响应的错误?给出一个示例。

    答案: 在 Axios 中可以通过 catch 方法来处理请求和响应的错误。以下是一个示例:

    axios.get('/api/users')
      .then(response => {
        console.log(response.data);
      })
      .catch(error => {
        if (error.response) {
          // 请求已发出,但服务器返回错误状态码
          console.error('响应错误', error.response.data);
        } else if (error.request) {
          // 请求已发出,但没有收到响应
          console.error('没有收到响应', error.request);
        } else {
          // 其他错误
          console.error('发生错误', error.message);
        }
      });
    

你可能感兴趣的:(javascript,前端)