我们在做微信小程序的时候,用小程序内置API 会发生嵌套太多的问题,不利于后期的维护工作,最好的优化方案就是用promise封装我们的API
原本代码
handGetUserInfo(e) {
console.log(e);
// 获取用户信息
const { encryptedData, rawData, iv, signature } = e.detail;
// 获取小程序登陆成功后的code
wx.login({
timeout:10000,
success (res) {
console.log(res.code);
}
})
},
封装后的写法
1.先在封装文件下封装相应的API
export const login = () => {
return new Promise((resolve, reject) => {
wx.login({
timeout:10000,
success: (result) => {
resolve(result)
},
fail: (err) => {
reject(err)
},
})
})
}
2.在页面引入
import { login} from "../..//utils/asyncWx"
3.使用封装后的方法 用await和async
async handGetUserInfo(e) {
console.log(e);
// 获取用户信息
//const { encryptedData, rawData, iv, signature } = e.detail;
// 获取小程序登陆成功后的code
const { code } = await login()
console.log(code);
},
两次代码对比,使用封装后的方式代码更清晰明了
相关内容请浏览《普歌-智音团队 微信小程序获取用户收货地址全过程》
作者:lihaijin8090
本文源自:lihaijin8090的《普歌-智音团队 小程序内置封装promise的方式》
本文版权归作者和CSDN共有,欢迎转载,且在文章页面明显位置给出原文链接,未经作者同意必须保留此段声明,否则保留追究法律责任的权利。