博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
promise化微信小程序api
阅读量:5893 次
发布时间:2019-06-19

本文共 849 字,大约阅读时间需要 2 分钟。

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 })

转载地址:http://vtisx.baihongyu.com/

你可能感兴趣的文章
JS 数组方法 array数组声明 元素的添加和删除 等
查看>>
怎样检测内存泄露
查看>>
day02
查看>>
jQuery给动态添加的元素绑定事件的方法
查看>>
android压力测试命令monkey详解
查看>>
并查集(找爸爸)
查看>>
Nim语言OOP
查看>>
ruby 操作数据库语句
查看>>
spring3.0学习之环境搭建
查看>>
maven系列笔记(安装、下载jar、搭建私服)
查看>>
HDU 1151 - Air Raid
查看>>
HDU 6085 - Rikka with Candies | 2017 Multi-University Training Contest 5
查看>>
Delaunay Triangulation in OpenCascade
查看>>
2_8 递归与分治策略(快速排序)
查看>>
Good Bye 2017
查看>>
第五次作业
查看>>
5 重做日志文件
查看>>
Oracle表约束
查看>>
R语言中的Apriori关联规则的使用
查看>>
Palindrome Number
查看>>