最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

JS中promise化微信小程序api

来源:懂视网 责编:小采 时间:2020-11-27 22:16:52
文档

JS中promise化微信小程序api

JS中promise化微信小程序api:promise化的原因 微信小程序的api用的是对象参数回调模式,很容易造成回调地狱,代码难以阅读,判断,修改 和调试. 微信小程序api示例 // 获取用户信息 wx.getSetting({ success: res => { if (res.authSetting['scope.user
推荐度:
导读JS中promise化微信小程序api:promise化的原因 微信小程序的api用的是对象参数回调模式,很容易造成回调地狱,代码难以阅读,判断,修改 和调试. 微信小程序api示例 // 获取用户信息 wx.getSetting({ success: res => { if (res.authSetting['scope.user

promise化的原因

微信小程序的api用的是对象参数回调模式,很容易造成回调地狱,代码难以阅读,判断,修改 和调试.

微信小程序api示例

// 获取用户信息
 wx.getSetting({
 success: res => {
 if (res.authSetting['scope.userInfo']) {
 // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
 wx.getUserInfo({
 success: res => {
 // 可以将 res 发送给后台解码出 unionId
 this.globalData.userInfo = res.userInfo
 }
 })
 }
 }
 })

可以看出两层的时候,代码就很别扭了

promise化小程序

编写一个可以promise小程序api的公用函数

function promisify (method, options = {}) {
 return new Promise((resolve, reject) => {
 // 将options对象赋值 然后再传给下面调用的方法中
 options.success = resolve
 options.fail = err => {
 reject(err)
 }
 wx[method](options)
 })
}

使用示例

传递的额外参数通过对象解构方式传递

promisify('getUserInfo')
 .then((res) => console.log(res))
 .catch((err) => {console.error(err)})

promisify('navigateTo', { url })

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

JS中promise化微信小程序api

JS中promise化微信小程序api:promise化的原因 微信小程序的api用的是对象参数回调模式,很容易造成回调地狱,代码难以阅读,判断,修改 和调试. 微信小程序api示例 // 获取用户信息 wx.getSetting({ success: res => { if (res.authSetting['scope.user
推荐度:
标签: 微信小程序 js API
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top