javascript之promise化微信小程序api的使用方法

2019-06-0908:36:20APP与小程序开发Comments2,447 views字数 841阅读模式

通过代码实例分析了promise化微信小程序api的使用方法,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 javascript之promise化微信小程序api的使用方法文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

promise化的原因文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

微信小程序的api用的是对象参数回调模式,很容易造成回调地狱,代码难以阅读,判断,修改 和调试. 微信小程序api示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

// 获取用户信息
wx.getSetting({
success: res => {
if (res.authSetting[``'scope.userInfo'``]) {
// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
wx.getUserInfo({
success: res => {
// 可以将 res 发送给后台解码出 unionId
this``.globalData.userInfo = res.userInfo
}//欢迎加入前端全栈开发交流圈一起学习交流:864305860
})//面向1-3年前端人员
}//帮助突破技术瓶颈,提升思维能力
}
})

可以看出两层的时候,代码就很别扭了文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

promise化小程序文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

编写一个可以promise小程序api的公用函数文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

function promisify (method, options = {}) {
return new Promise((resolve, reject) => {
// 将options对象赋值 然后再传给下面调用的方法中
options.success = resolve
options.fail = err => {
reject(err)
}//欢迎加入前端全栈开发交流圈一起学习交流:864305860
wx[method](options)
})//面向1-3年前端人员
}//帮助突破技术瓶颈,提升思维能力

使用示例文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

传递的额外参数通过对象解构方式传递文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html

promisify(``'getUserInfo'``)

.then((res) => console.log(res))

.``catch``((err) => {console.error(err)})

promisify(``'navigateTo'``, { url })
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/xcx/13535.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/xcx/13535.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定