Vue中的asios以及asyn,await操作
1.Vue.js Ajax(axios)
npm下载使用:
npm install –save axios vue-axios
在入口文件导入axios:
1 | import axios from 'axios' |
设置 Vue.prototype.$http
为 axios
的别名:
1 | Vue.prototype.$http = axios |
然后就可以在项目中的Vue 实例中使用类似 this.$http.get
的方法:
1 | const{ data : res}= await this.$http.get('users') |
这里的{data : res}
将请求返回的数据data
解构赋值为对象res
中
2.async/await
async 是 ES7 才有的与异步操作有关的关键字,和 Promise , Generator 有很大关联的。
async语法
1 | async function name([param[, param[, ... param]]]) { statements } |
- name: 函数名称。
- param: 要传递给函数的参数的名称。
- statements: 函数体语句。
async 函数返回一个 Promise 对象,所以使用await
:
await 操作符用于等待一个 Promise 对象, 它只能在异步函数 async function 内部使用。
await针对所跟不同表达式的处理方式:
- Promise 对象:await 会暂停执行,等待 Promise 对象 resolve,然后恢复 async 函数的执行并返回解析值。
- 非 Promise 对象:直接返回对应的值。
例如获取一个用户列表:
未使用async/await
的写法
1 | getUserList(){ |
如果使用async/await
:
异步请求同步化处理
1 | async getUserList(){ //函数名前加上async关键字 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 WesleyBee BLOG!