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