var a = [1, 2, 3, 4]; var heheTimeout = cb => setTimeout(cb, 1000 * Math.random()); a.forEach((num, index) => { wx.getImageInfo({ src: 'path/to/an/image',
success: res => { heheTimeout(_ => { console.log(index) // 正确, 0,1,2,3乱序 }); wx.canvasToTempFilePath({ x: 0, y: 0, width: 100, height: 100, destWidth: 100, destHeight: 100, canvasId: 'tmpCanvas',
success: res => { console.log(index); // 不正确,四个都是同一个值,例如输出四次3 } }); } }); }); |
代码排版已优化,有劳官方验证。注意,这是在开发者工具里遇到的bug,在手机上不会有。
你好,是 wx.canvasToTempFilePath 在开发者工具的实现有问题,我们会尽快修复。
小程序的js执行环境是成熟的js执行环境(在各个平台上使用的环境不一样)。所以对于这类问题请首先确认是不是你自己的代码造成的问题,如果确实有执行环境的问题,麻烦提供尽可能完整的代码,并说明是在什么平台下出现的问题。
P.S. 请改善代码排版。
问题我已确认过,请官方验证。P.S. 排版已改好
我不做评论