VUE的creat方法异步执行
程序员文章站
2022-03-08 16:43:34
...
遇见的问题是发现有个方法时灵时不灵
created() { //Vue的creat方法是异步的
this.getUser();
this.getApplyInfo();
},
methods: {
getUser(){
getCurrentUsUser().then(response =>{
this.modifyInformationForm = response.data
});
}
getApplyInfo(){
getApplyInfoByUserId(this.modifyInformationForm.id).then(response =>{
this.applyForm.headPic = this.modifyInformationForm.headPic;
}
}
我的getApplyInfo方法用了getUser方法返回的数据,因为两个方法是异步的,所以导致getApplyInfo方法时灵时不灵。
所以使用.then方法设置使用顺序
created() {
this.getUser().then(response =>{
this.getApplyInfo();
});
},
出现了错误
Cannot read property 'then' of undefined
这是因为写在了初始化里头,所以没有返回,也没有定义????(还没找到靠谱原因)
所以把getApplyInfo方法写在getApplyInfo方法中
created() {
this.getUser();
},
methods: {
getUser(){
getCurrentUsUser().then(response =>{
this.modifyInformationForm = response.data;
getApplyInfoByUserId(this.modifyInformationForm.id).then(response =>{
this.applyForm.headPic = response.data.data.headPic;
})
});
},
}
下一篇: 时间类型踩坑 备忘