异步等待返回结果的解决方案


异步等待返回结果的解决方案:

方案一: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);
           }
       }
    })

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM