Vue上写一个全局的请求函数,将响应的数据return出函数。会得到Promise格式,响应的数据存放到[[PromiseResult]]中。如何从Promise中获取响应数据?
1、在main.js中写一个全局请求函数Vue.prototype.CuerrentUser = function () {return new Promise((resolve, reject) => {axios({url: this.$settings.base_url + '/user/currentuser/',method: 'get',headers: {
·
1、在main.js中写一个全局请求函数
Vue.prototype.CuerrentUser = function () { return new Promise((resolve, reject) => { axios({ url: this.$settings.base_url + '/user/currentuser/', method: 'get', headers: { 'AUTHORIZATION': window.$cookies.get('oatoken') } }).then( res=> { resolve(res); //将得到的数据存储到Promise中 }).catch(error=>{ reject(error);}) }) }使用Vue.prototype可以生成一个全局函数,在其他组件中,通过this.函数名就可以访问到该函数了。
2、如何在组件中调用该全局函数,获取到该请求函数响应回来的数据。使用响应回来的数据。
在组件中:
mounted() { let currentdata = this.CuerrentUser() //调用全局函数 currentdata.then(res=>{ //响应的数据存放在Promise的[[PromiseResult]]中 console.log(res.data.data) //‘需要使用then才能取出数据来。 //拿到数据可以进行初始化操作 }) }
更多推荐
已为社区贡献8条内容
所有评论(0)