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 } }) }