wx.login用promise封装后依然是异步的?
发布于 5 年前 作者 wwen 9224 次浏览 来自 官方Issues

问题是封装完依旧是先打印wx.getSetting里的判断是否授权的log,也就是说我的login依然是异步的,登录还没执行完就去执行下一步授权了。

2 回复

你的onlogin函数是普通函数啊,只不过这个普通函数内部你弄了个promise

异步解决方案就是回调、promise、async函数和不常用的Generator 函数,只是你用的promise和你要实现的有问题

test().then(res=>{

    console.log(444)
}).catch(err=>{
    console.log(555)
});
function test(){
    let obj = new Promise((resolve,reject)=>{
        console.log(111)
        setTimeout(()=>{
            console.log(222)
            resolve();
        },2000);
        if(1==2){
            console.log(333)
            reject();
        }
    });

    return obj;

}

输出111、222、444

回到顶部