Code前端首页关于Code前端联系我们

如何在javascript中使用微信基于promise的小程序API

terry 2年前 (2023-09-23) 阅读数 72 #移动小程序

本文通过代码示例来分析微信基于promise的小程序API的使用。有需要的朋友可以参考一下。如有不足之处,欢迎批评指正。 javascript之promise化微信小程序api的使用方法

Promise Reason

微信Mini API采用对象参数回调模式,很容易造成回调地狱,导致代码难以阅读、判断、编辑和调试。 微信Mini API示例

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

可以看到,有两层的时候,代码很乱

承诺一个小程序

写一个可以承诺小程序API的公共函数

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

我们的例子

额外参数通过

promisify(``'getUserInfo'``)

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

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

promisify(``'navigateTo'``, { url })
对象的销毁传递

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门