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); } });