将小程序原生异步函数promisify后,在async/await中使用

本文介绍了一种在小程序中使用Promise封装异步API的方法,通过promisify.js模块实现wx API的异步调用,如图片选择和操作菜单展示。并在page的index.js中演示了如何使用async/await调用封装后的API。

app.js代码:


const promisify = require('./lib/promisify.js')
 
App({
 
  globalData: {},
 
  chooseImage: promisify(wx.chooseImage),
 
  showActionSheet: promisify(wx.showActionSheet),
 
  onLaunch:function () {
 
  },
})

promisify.js代码:


module.exports = api => {
    return (options, ...params) => {
        return new Promise((resolve, reject) => {
            api(Object.assign({}, options, { success: resolve, fail: reject }), ...params);
        });
    };
};

某page的index.js代码:

testAsync: asyncfunction(){
  let res = await app.chooseImage()
  console.log(res)
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值