微信小程序的开发中虽然已经支持了ES6语法,但是在微信原生的API中仍然使用的还是ES5的回调函数。作为一个与时俱进的developer,我们当然使用Promise。所以我们为大家提供了这个Promisic函数,帮助大家来对原生的回调函数进行转换。
Promisic 搭配 async、await 味道更好哦!可以把异步API转化为同步的。
小程序使用async、await需开启增强编译。
const promisic= function (func) {
return function (params = {}) {
return new Promise((resolve, reject) => {
const args = Object.assign(params, {
success: (res) => {
resolve(res);
},
fail: (error) => {
reject(error);
}
});
func(args);
});
};
};
// 使用async、await
async request({url, data, method = "GET"}) {
const result = await promisic(wx.request)({
url,
data,
method
})
return result.data
}