wx.drawCanvas 绘图,绘制好后程序无法继续执行
发布于 5 年前 作者 jie27 8892 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

                        async drawCanvas() {

const _that = this

wx.showLoading({ icon: ‘none’ })

cvsCtx.drawImage(_that.shareInfo.cache_path, 0, 0, _that.canvasSize.width, _that.canvasSize.height)

await wx.drawCanvas({ canvasId: ‘share-canvas’, actions: cvsCtx.getActions() })

                                // 到这里往后就不执行了,但是canvas绘图已完成

                                console.log(‘finised.’)  // 控制台未输出结果,loading 一直未消除

const result1 = await wx.canvasToTempFilePath({ 

canvasId: ‘share-canvas’ ,

x: 0,

y: 0,

width: _that.canvasSize.width,

height: _that.canvasSize.height,

destWidth: _that.shareInfo.width,

destHeight: _that.shareInfo.height

})

wx.hideLoading()

_that.canvasTempFilePath = result1[1].tempFilePath

                            }

  • 预期表现

    控制台输出 finised.

    在真机上运行可以正确打印结果并最终调用 wx.hideLoading(),但是在开发者工具的模拟器中,程序执行至 wx.drawCanvas 后,canvas绘制成功,但是之后的代码没有运行。

回到顶部