需求: 生成分享图片
业务逻辑: 点击分享按钮, 将生成一张分享图片,
技术实现: 通过 canvas 把页面绘制出来,wx.cancasToTempFilePath 将图片导出得到生成图路径,wx.getImageInfo 根据路径下载图,wx.previewImage 预览图片。
遇到问题:
在 canvas 绘制图片前,需要把图片下载下来(getImageInfo ),多张图片就用到了 Promise.all() (见下图)。
小程序开发工具实现没有问题,真机测试就出现问题,一直在生成中,排查代码后发现 promise.all().then() 就进不去 then()方法。
同时发现一个有趣的规律:
如果真机测试打开 vconsole 调试,就没得问题。
真机扫开发工具=》远程调试 生成的二维码也没有问题
只有真机扫描 开发工具 》 预览 生成的二维码就有问题!
很是奇怪 !不解其中的奥妙!
有木有人遇到这样的问题? 欢迎一起讨论 或给予指点
小程序有没有技术支持呢? 在哪里可以找到?
你好,初步判断是不同 js 引擎的 promise 实现差异导致。请问你出现问题的真机机型是什么呢?
iphone X 12.3.1 遇到同样问题
很神奇,我也是使用Promise.all批量下载图片,但是至今未有then无法进入的情况,是否接口域名未配置好,或者图片不是https的?我使用的不是getimageinfo,而是downloadfile。后面是怎么解决的呢?希望了解一下方便踩坑
@LastLeaf 安卓基本上 全军覆没,最后改变了实现的机制。
对了,我们遇到的情况是:只有当用户第一次进入小程序会出现这样的问题。当用户把小程序删除后,再次进入就好了,以后就一直是正常的了。
我们也遇到了跟描述一模一样的问题,想问一下,你们最后解决了么?