微信小程序異步回調


場景如下:現有一個方法需要等待其他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