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

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

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

}
posted @ 2020-12-08 10:38  我是个假前端~~~  阅读(1133)  评论(0)    收藏  举报