十年河东,十年河西,莫欺少年穷

学无止境,精益求精

代码:

onLoad: function () {
let that=this;
that.initdata();
},

async initdata(){
let that=this;
let RedisOptions =await request.request({
url: "/api/V1/Home/GetRedisOptions",
method: "GET"
});
console.log(RedisOptions)

let FileOptions =await request.request({
url: "/api/V1/Home/GetFileOptions",
method: "GET"
});
console.log(FileOptions)
},

// initdata(){
// let that=this;
// let rst=null;
// let RedisOptions = request.request({
// url: "/api/V1/Home/GetRedisOptions",
// method: "GET"
// }).then(result => {
// console.log(result.data)
// rst=result.data;
// });

//
// RedisOptions.then(A=>{
// request.request({
// url: "/api/V1/Home/GetCurrentUser",
// method: "GET"
// }).then(result => {
// console.log(result.data)
// // that.ResultData="result.data";
// console.log(that.ResultData)
// });
// })
// },

Promise 的封装如下:

Es6 Promise 结合 async await ,枪毙回调地狱_系统错误Es6 Promise 结合 async await ,枪毙回调地狱_封装_02

import * as common from "../../utils/config/config"
const ApiUrl = common.config.swagger.apiUrl;
var dayjs = require('dayjs')
export const request = (parm) => {
let tokenOverTime = wx.getStorageSync('tokenOverTime');
let bol = dayjs().isBefore(dayjs(tokenOverTime));
let token = wx.getStorageSync('token');
if (!bol || !token) {
wx.showModal({
title: '提示',
content: '请重新登录',
showCancel: false,
success: function (res) {
if (res.confirm) {
wx.reLaunch({
url: '/pages/index/index',
})
}
}
})
} else {
return new Promise((resolve, reject) => {
parm.header = {
"Authorization": token
};
parm.url = ApiUrl + parm.url;
wx.request({
...parm, // 展开对象
success(res) {
//console.log(res.data.Data)
if (res.statusCode == 200 && res.data && res.data.resultCode == 0) {
resolve(res.data);
} else if (res.statusCode == 200 && res.data && res.data.resultCode == -1) {
wx.showModal({
title: '系统异常',
content: res.data.resultMessage,
cancel: false
})
reject(res.data);
} else if (res.statusCode >= 500 && res.statusCode < 600) {
wx.showModal({
title: '系统错误',
content: '网络请求错误',
cancel: false
})
reject(res.data);
} else {
reject(res.data);
}
}
})
})
}

}

View Code

Es6 Promise 结合 async await ,枪毙回调地狱_redis_03