javascript promise 返回数组的显示问题
原本使用 promise 返回数组的代码,却遇到了 e 的长度永远为 0 的问题,且 e[0] 为 undefined。
解决方案:
将代码修改如下:
立即学习“Java免费学习笔记(深入)”;
let element = document.querySelectorAll('.test') let promise = new Promise((resolve,reject) => { let imgs = [] for (var i = 0; i < element.length; i++) { html2canvas(element[i],{ useCORS: true, allowTaint: false, logging: true }).then(function(canvas) { let ctx = canvas.getContext("2d") let page = document.createElement("canvas") page.width = canvas.width page.height = canvas.height page.getContext("2d").putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0) imgs.push(page.toDataURL("image/jpeg", 1.0)) }) } if (imgs.length === element.length) { resolve(imgs); } }) promise.then(e => { console.log(e, e.length) })
修改点:
以上就是JavaScript Promise 返回数组时,为什么 e 的长度始终为 0 ?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号