收藏
回答

wx.canvastotempfilepath 为什么不执行?

则个是测试随便写的。wx.canvastotempfilepath 中的三个回调都没有执行。

//index.js
//获取应用实例
const app = getApp()
 
Page({
  data: {
    motto: 'Hello World',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  //事件处理函数
  bindViewTap: function() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad: function () {
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
    } else if (this.data.canIUse){
      // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  },
  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },
  onShow () {
    console.log(123)
    wx.canvasToTempFilePath({
      canvasId: 'myCanvas',
      success(res) {
        console.log("success")
      },
      fail () {
        console.log("fali")
      },
      complete () {
        console.log("complete")
      }
    })
  }
})


最后一次编辑于  2019-10-16
回答关注问题邀请回答
收藏

5 个回答

  • 小宝
    小宝
    2020-11-26

    canvas画图需要时间而且还是异步的,所以需要加个定时器延迟0.5s去调用wx.canvasToTempFilePath

    2020-11-26
    有用 1
    回复 1
    • 柠檬茶
      柠檬茶
      2021-05-21
      延迟3秒都不执行
      2021-05-21
      回复
  • 嗯呢
    嗯呢
    2022-01-28

    2022年了 这问题还有没有人管了

    2022-01-28
    有用
    回复
  • 。。。。。
    。。。。。
    2020-12-10

    这都一年了,nnd,问题还是一样,我傻傻的一直测试,还以为是自己哪写错了

    2020-12-10
    有用
    回复 1
    • : )
      : )
      2021-01-08
      确实是写错了 参数后还要传个this指向
      2021-01-08
      回复
  • Gary
    Gary
    2020-11-27

    2020.11.27都没有解决吗 延迟2秒都没有执行

    2020-11-27
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2019-10-16

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2019-10-16
    有用
    回复 9
    • 伦…
      伦…
      2019-10-17
      代码就我上面贴出来的那样。我在项目里使用F2绘制图表。在ctx.draw()的回调函数里调用wx.canvastotempfilepath。回调函数执行了。但是wx.canvastotempfilepath没有执行(success,fail ,complete 三个回调都没有执行),于是我新建一个项目直接调用wx.canvastotempfilepath,结果也是一样
      2019-10-17
      回复
    • 疯狂的小辣椒
      疯狂的小辣椒
      2019-10-17回复伦…
      参考文档链接,提供文档说明的代码片段
      2019-10-17
      回复
    • 姚毛毛
      姚毛毛
      2019-12-26
      这个问题解决了吗?同样的问题,没执行代码
      2019-12-26
      回复
    • 那年夏天
      那年夏天
      2020-01-03
      你好!请问解决了吗?出现了同样的问题
      2020-01-03
      回复
    • Caroline
      Caroline
      2020-04-29
      同样的问题,解决了么
      2020-04-29
      回复
    查看更多(4)
登录 后发表内容
问题标签