微信小程序异步回调


场景如下:现有一个方法需要等待其他N个异步函数执行完毕后执行,callback麻烦的头大,翻了一波API原来小程序已经支持 async函数,那一切就好办了。

废话不多说,直接开始撸。。。

 

第一步:打开增强编译

 

 

 第二部:直接撸代码,这里写了个🌰

  wait:function() {
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                resolve('ajax请求等待')
            }, 2000)
        })
    },
    onLoad: async function(options) {
        let ajaxTime = await this.wait();
        console.log(ajaxTime)
        let getIndex = this.getArrIndex(this.data.sexArray, 'other.其他');
        console.log('异步执行后获取index:'+getIndex)
        this.setData({
            sexindex: getIndex
        })
    },

上面的执行顺序是:

先执行:this.wait(),进入函数体,然后进入等待


2秒后执行:console.log(ajaxTime)


下面的代码则按照基本的js执行顺序执行。


免责声明!

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



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