资讯专栏INFORMATION COLUMN

promise化微信小程序api

AlphaWatch / 1398人阅读

摘要:化的原因微信小程序的用的是对象参数回调模式很容易造成回调地狱代码难以阅读判断修改和调试微信小程序示例获取用户信息已经授权,可以直接调用获取头像昵称,不会弹框可以将发送给后台解码出可以看出两层的时候代码就很别扭了化小程序编写一个可以小程序的公

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94167.html

相关文章

  • wn-cli 像React组件开发一样来开发微信小程序

    摘要:最后的目的是能满足所有微信小程序开发者的需求,全面覆盖小程序开发。像开发一样,用开发微信小程序。 项目地址:wn-cli wn-cli wn-cli 像React组件开发一样来开发微信小程序 名字由来:wn -> weapp native 取第一个字母 Install npm install wn-cli --save-dev // 或者 yarn add wn-cli --dev U...

    fobnn 评论0 收藏0
  • 把微信小程序异步API转为Promise,简化异步编程,告别层层回调

    摘要:微信官方没有给出来处理异步操作,而官方异步的又非常多,这使得多异步编程会层层回调,代码一复杂,回调起来就想砸电脑。是一个转换微信小程序异步为的一个工具库优点避免小程序异步编程多次回调带来的过多回调导致逻辑不清晰,篇幅过长等问题。 把微信小程序异步API转化为Promise。用Promise处理异步操作有多方便,谁用谁知道。微信官方没有给出Promise API来处理异步操作,而官方AP...

    antz 评论0 收藏0
  • 在微信小程序使用音乐api的方法,以及微信小程序播放背景音乐失败的解决方案汇总

    摘要:下一步准备使用网易云代替音乐。已经开发新的网易云代替音乐了,需要的可以看看这篇文章为微信小程序开发的网易云音乐库 项目要做一个可以为日记添加音乐的小程序,所以要用到音乐api,参考了一些文章后我们封装了一个qq音乐api库(完成了动态token获取,音乐搜索,音乐专辑图片,音乐名称,歌手名称,播放),有需要的可以到Github自提。 小程序qq音乐api库Gihub地址https://...

    Sleepy 评论0 收藏0
  • 信小程序踩坑系列——从wx.request谈谈异步处理

    摘要:其实我们在同步流程中才说返回,异步没有返回这个概念或者说异步返回是没有意义的,异步对应的是回调,也就是说,对于一个异步函数,我们应该传入一个回调函数来接收结果。 原文链接:https://www.xksblog.top/talk-... 见到wx.request的第一眼,就让我想起了$.ajax这东西,使用起来确实有很多不方便,不能忍,幸好小程序是支持ES6语法的,所以可以使用pro...

    RdouTyping 评论0 收藏0
  • 信小程序:使用Promise简化回调

    摘要:了解什么是对象在项目中,会出现各种异步操作,如果一个异步操作的回调里还有异步操作,就会出现回调金字塔。回调金字塔的简化效果那么再来看看最开始的那个回调金字塔登录请求获取请求可以看到简化效果非常明显。同样适用于网页或者等中。 showImg(https://segmentfault.com/img/remote/1460000013228704); 了解什么是 Promise 对象 在项...

    JeOam 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<