- 普通api什么时候支持Promise风格
先记录下再完善吧 别骂我,我就是做个笔记 https://developers.weixin.qq.com/miniprogram/dev/extended/utils/api-promise.html API Promise化 扩展微信小程序api支持promise 安装 npm install --save miniprogram-api-promise 使用 在小程序入口(app.js)调用一次promisifyAll,只需要调用一次。 示例: import { promisifyAll, promisify } from ‘miniprogram-api-promise’; const wxp = {} // promisify all wx’s api promisifyAll(wx, wxp) console.log(wxp.getSystemInfoSync()) wxp.getSystemInfo().then(console.log) wxp.showModal().then(wxp.openSetting()) // compatible usage wxp.getSystemInfo({success(res) {console.log(res)}}) // promisify single api promisify(wx.getSystemInfo)().then(console.log)
2019-11-30 - 将小程序原生异步函数promisify后,在async/await中使用
目前,小程序中支持使用async/await有三种模式: 1、不勾选es6转es5,不勾选增强编译;该模式是纯es7的async/await,需要基础库高版本。 2、勾选es6转es5,勾选增强编译;一般是因为调用了第三方的es5插件,通过增强编译支持async/await。 3、勾选es6转es5,不勾选增强编译;手工引入runtime.js支持async/await。 据最近更新情况,原生的函数已经大部分同时原生支持同步化了,不需要本方案转化了,直接加上await即可;比如wx.chooseImage、wx.showModal。。。具体有哪些,可以自己试。 如果只是wx.request的同步化,可参考: https://developers.weixin.qq.com/community/develop/article/doc/0004cc839407a069f77a416c056813 app.js代码: function promisify(api) { return (opt, ...arg) => { return new Promise((resolve, reject) => { api(Object.assign({}, opt, { success: resolve, fail: reject }), ...arg) }) } } App({ globalData: {}, chooseImage: promisify(wx.chooseImage), request: promisify(wx.request), getUserInfo: promisify(wx.getUserInfo), onLaunch: function () { }, }) 某page的index.js代码: const app = getApp() testAsync: async function(){ let res = await app.chooseImage() console.log(res) res = await app.request({url:'url',method:'POST',data:{x:0,y:1}}) console.log(res) }, [图片]
2020-10-20 - chooseVideo文档没有视频图片的说明
使用wx.chooseVideo方法获取的返回值中现在可以拿到封面图,但是开发文档没有更新; thumbTempFilePath就是封面,我本来是想找找看对于这个的说明的,发现文档没有; 这个是固定为jpg文件的么? [图片] https://developers.weixin.qq.com/miniprogram/dev/api/wx.chooseVideo.html
2018-12-04