veu axios 中 async await的两种使用方法

本文通过对比未使用与使用async/await的异步请求代码,展示了如何通过async/await来简化JavaScript中的并发控制,使得请求处理更加有序,避免回调地狱。在使用async/await后,请求的前后顺序更加清晰,代码可读性显著提升,有助于提高开发效率和维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言: 有效使用async await 会少很多问题

 

0. 未使用async await前

代码:

feach() {
console.log('我是请求前:' + new Date().toLocaleTimeString())
        this.$get(this.path, {
          ...params
        }).then(r => {
          console.log('我是请求结束中:' + new Date().toLocaleTimeString())
        })
        console.log('我是请求后:' + new Date().toLocaleTimeString())
}

控制台:

 

1.使用后(1 )

 

代码:

 async feach(params = {}) {
        console.log('我是请求前:' + new Date().toLocaleTimeString())
        await this.$get(this.path, {
          ...params
        }).then(r => {
          console.log('我是请求结束中:' + new Date().toLocaleTimeString())
        })
        console.log('我是请求后:' + new Date().toLocaleTimeString())
    },

控制台:

1.使用后(2 )

 

代码:

async feach(params = {}) {
        console.log('我是请求前:' + new Date().toLocaleTimeString())
        const arr = await this.$get(this.path, { ...params })
        console.log('我是结束后:' + arr + new Date().toLocaleTimeString())
    },

控制台:

<think>好的,用户想在Vue2项目中集成Axios库,询问如何引入和配置。首先,我需要回忆Vue2中使用Axios方法,并结合提供的引用内容来组织步骤。 根据引用[1]和[2],Vue2推荐使用Axios,并且可以通过挂载到Vue原型上实现全局引入。引用[3]虽然主要讲Vue3,但配置思路类似,可能帮助确认步骤的正确性。 第一步应该是安装Axios。用户需要使用npm或yarn安装,这一步是基础,必须提到。然后,在入口文件(如main.js)中引入Axios,并挂载到Vue.prototype,这样每个组件都能通过this.$http访问。需要提醒用户注意变量名,比如$http是常用的,但也可以自定义。 接下来,可能需要配置全局默认值,比如设置baseURL,这样在请求时就不用重复写基础URL。这部分引用中没有详细提到,但根据经验,这是一个常见的做法,应该包含进去,以帮助用户简化代码。 然后,在组件中使用时,用户可以通过this.$http.get等方式调用。需要给出一个简单的例子,比如在created钩子中获取数据,这样用户能直观看到用法。 此外,可能还需要提到错误处理,比如添加拦截器来处理全局错误,但用户的问题可能只需要基本配置,所以这部分可以作为可选的高级配置提及,确保回答简洁。 最后,生成相关问题需要考虑用户可能的后续需求,比如封装Axios、拦截器使用、与Vuex结合等,这些都在引用中有相关点可以延伸。例如,引用[3]提到全局配置,可能涉及到更复杂的设置,可以作为问题之一。 需要检查步骤是否符合Vue2的语法,尤其是原型挂载的方式是否正确,确保没有混淆Vue3的app.config.globalProperties。同时,确认代码示例正确,比如import的顺序和挂载的位置是否正确。 总结回答结构:安装Axios → 全局引入 → 配置默认值 → 使用示例 → 高级配置建议。确保每个步骤清晰,代码示例正确,并自然引用提供的参考资料。</think>在 Vue2 项目中集成 Axios 的步骤如下: --- ### 1. 安装 Axios 通过 npm 或 yarn 安装 Axios 库: ```bash npm install axios # 或 yarn add axios ``` --- ### 2. 全局引入 AxiosVue2 的入口文件(通常是 `main.js`)中,将 Axios 挂载到 Vue 原型上: ```javascript import Vue from 'vue' import App from './App.vue' import axios from 'axios' // 挂载到 Vue 原型链,命名为 $http(可自定义) Vue.prototype.$http = axios new Vue({ render: h => h(App), }).$mount('#app') ``` 此时所有组件可通过 `this.$http` 调用 Axios[^1][^2]。 --- ### 3. 配置默认参数(可选) 在 `main.js` 中设置全局默认配置,例如基础 URL: ```javascript axios.defaults.baseURL = 'https://api.example.com' axios.defaults.headers.common['Authorization'] = 'Bearer token' ``` --- ### 4. 在组件中使用Vue 组件中直接通过 `this.$http` 发起请求: ```javascript export default { methods: { fetchData() { this.$http.get('/users') .then(response => console.log(response.data)) .catch(error => console.error(error)) } } } ``` --- ### 5. 高级配置(可选) - **创建实例**:通过 `axios.create()` 创建多个独立实例 - **拦截器**:添加请求/响应拦截器统一处理错误 ```javascript // 请求拦截器 axios.interceptors.request.use(config => { config.headers['X-Custom-Header'] = 'value' return config }) // 响应拦截器 axios.interceptors.response.use( response => response, error => { console.error('请求失败:', error) return Promise.reject(error) } ) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值