Uni-app async結合await 將異步請求同步化


onLoad(){
    this.setAreaList();
},
methods: {
    async setAreaList(){ //這里使用異步關鍵字
        let area = await this.areaCache(); //這里使用了await 會等待areaCache這個方法返回數據后才會去執行下面的代碼
         
            console.log(area);
    }
}
areaCache:function(){
    return new Promise((res) => {
        try {
            const value = uni.getStorageSync('storage_area');
            if (value) {
                res(value);
            }else{
                uni.request({
                    url: url,
                    data: {},
                    method:'GET',
                    header: {
                        'Access-Control-Allow-Origin':'*'
                    },
                    success: (result) => {
                        try {
                            uni.setStorageSync('storage_area', JSON.parse(result.data.items));
                            res(JSON.parse(result.data.items));
                        } catch (e) {
                            // error
                        }
                 
                    },
                    fail: (e) => {
                        res(e);
                    }
                })
            }
             
        } catch (e) {
            // error
        }
    })
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM