有的时候我们需要在网络请求结束后,再进行后续动作,例如,在一段网络请求结束后执行跳转,如果不做处理,会有可能出现网络请求未完成的时候页面就已经跳转走不存在了,所以要在调用网络请求的方法中加入一个回调函数,函数里边写请求结束的代码,然后等待网络请求结束后,再去执行这个回调函数
先把请求数据的方法加上 async, 请求axious本身加上await, 如下所示
async getData(layer, dirId) {
let mydata = await this.$axios({
method: 'post',
url: 'url',
data: qs.stringify({
"entId": 1,
}),
}).then(res => {
if (res.data.state == 1) {
let obj = res.data.data,
objOne = [];
for (let i = 0; i < obj.length; i++) {
objOne.push({
label: obj[i].DIR_NAME,
id: obj[i].DIR_ID,
})
}
/* 重要的return , 返回你需要的东西 */
return objOne
} else {
that.$message.error(res.data.msg);
}
})
return mydata
},
然后直接用变量获取就行了
let item = null ;
this.getData(layer, item.id).then(result => {
item = result;
})
版权声明:本文为qq_39051175原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。