Axios 面试题
-
问题描述: 什么是 Axios?它的主要特点是什么?
答案: Axios 是一个基于 Promise 的 HTTP 客户端库,用于在浏览器和 Node.js 中发送 HTTP 请求。它具有以下主要特点:
- 支持浏览器和 Node.js 环境。
- 提供简单且一致的 API,易于使用。
- 支持 Promise API,可以处理异步操作。
- 提供拦截器(interceptors)来在请求和响应之间添加自定义逻辑。
- 支持请求和响应的取消操作。
- 自动转换请求和响应的数据格式。
- 提供错误处理和异常转换机制。
-
问题描述: 如何在浏览器中使用 Axios 发送 GET 请求?给出一个示例。
答案: 在浏览器中使用 Axios 发送 GET 请求,可以使用
axios.get()
方法。以下是一个示例:axios.get('/api/users').then(response => {console.log(response.data);}).catch(error => {console.error(error);});
-
问题描述: 如何在 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);});
-
问题描述: 如何在 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); });
-
问题描述: 如何在 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);}});