异步等待返回结果的解决方案:
方案一:promise.then()
var isfree=pay.checkProductFree('cut_img');
//判断工具是否免费
isfree.then(function(res){
if(res){
//该工具免费
saveData();
}else{
if (isVip===false){
pay.showPayDialog();
return;
}else{
saveData();
}
}
})
方案二:async await;
注意:await 必须与asnyc 结合使用;
// 上传图片校验
async checkUpload() {
var login = new Login();
var isLogin = login.checkLogin();
//是否登录
if (isLogin === false) {
login.changeDialog("wechat");
return false;
}
var user=new User();
var isVip = user.checkUserType();
var pay=new Pay();
var isfree=await pay.checkProductFree('matting');
return new Promise((resolve, reject) => {
if(isfree===true){
resolve(true);
}
if(isfree===false){
//vip会员
if(isVip==true){
resolve(true);
}
if(isVip==false){
pay.showPayDialog();
resolve(false);
}
}
})
}