vue方法等待结果再执行优化
接着上一篇,还是methods里面有三个方法,A方法,B方法,C方法,我在执行A方法里面调用B方法,B方法需要等待ajax结果回来再去调用C方法,如何更好的实现呢,下面我简化了下代码,写了个dome如下
A() {
// 核实验证码是否正确
this.B().then(result => {
if (result){
this.C();
}
})
},
B() {
return new Promise((resolve, reject) => {
const verifyCheckCodeUrl = 'https://xxx/sms/login'
let formData = new FormData();
formData.append('phone', this.phone);
formData.append('code', this.checkCode);
formData.append('registSource', 4);// 网页
axios
.post(verifyCheckCodeUrl, formData, {
headers: {
'Content-Type': 'multipart/form-data', // 设置请求头
}
})
.then( (data) => {
var d = data.data;
if (d.code === 200) {
// todo 处理token?
resolve(true);
}else{
message(d.message);
resolve(false);
}
})
.catch((error) => {
console.log('verifyCheckCode error: ', error);
});
});
}