美文网首页
微信小程序canvasToTempFilePath: fail

微信小程序canvasToTempFilePath: fail

作者: Liebling_zn | 来源:发表于2021-05-10 18:00 被阅读0次

    今天突然收到反馈说小程序端的二维码不显示了,排查发现报了下面的错误


    image.png

    搜索了一番,又对比了自己的代码,发现很多提到的解决方法都是说要在canvasToTempFilePath的第二个参数传入this(自定义组件实例),但我的代码已经是传有了的,另外还有说是要在 canvas 的 渲染函数 draw 中的回调函数,我也是这么做了,但为什么还是报这个错呢,而且这个问题并不是所有手机都存在这个问题,查找了半天,最后通过下面方式算是解决了:

    setTimeout(() => {
      ctx.draw(false, setTimeout(() => {
        uni.canvasToTempFilePath({
          canvasId: this.cid,
          success: res => {
            options.success && options.success(res.tempFilePath)
          },
        fail: error => {
          options.fail && options.fail(error)
        }
        }, this)
      },300))
    }, 200)
    

    就是在draw外面和draw回调函数中增加setTimeout延迟时间,初步猜测是由于渲染完成了,但是canvas实例还没有导致的问题,不知道对不对,有理解的可以评论回复下。

    相关文章

      网友评论

          本文标题:微信小程序canvasToTempFilePath: fail

          本文链接:https://www.haomeiwen.com/subject/vrwidltx.html