面试题答案
一键面试- 封装网络请求函数:
- 假设使用
axios
库进行网络请求,首先安装axios
:npm install axios
- 创建一个
http.js
文件,封装GET
请求函数:
import axios from 'axios'; export const getRequest = async (url, params = {}) => { try { const response = await axios.get(url, { params }); return response.data; } catch (error) { console.error('请求失败:', error); throw error; } };
- 假设使用
- 在Vue组件中使用:
- 使用Composition API的Vue组件示例:
<template> <div> <button @click="fetchData">获取数据</button> <div v-if="data"> <pre>{{ data }}</pre> </div> <div v-if="error" style="color: red">{{ error.message }}</div> </div> </template> <script setup> import { ref } from 'vue'; import { getRequest } from './http.js'; const data = ref(null); const error = ref(null); const fetchData = async () => { try { const result = await getRequest('https://example.com/api', { key: 'value' }); data.value = result; } catch (e) { error.value = e; } }; </script>
在上述代码中,首先在http.js
文件中封装了getRequest
函数,用于发送GET
请求并处理成功和失败的情况。然后在Vue组件中,通过fetchData
方法调用这个封装的函数,并根据请求结果更新组件的响应式数据data
和error
,以在模板中展示请求结果或错误信息。