JavaScript Promise 返回数组时,为什么 e 的长度始终为 0 ?

javascript promise 返回数组时,为什么 e 的长度始终为 0 ?

javascript promise 返回数组的显示问题

原本使用 promise 返回数组的代码,却遇到了 e 的长度永远为 0 的问题,且 e[0] 为 undefined

解决方案:

将代码修改如下:

let element = document.querySelectorAll('.test')
let promise = new Promise((resolve,reject) => {
    let imgs = []
    for (var i = 0; i  {
    console.log(e, e.length)
})

修改点:

  • 将 resolve(imgs) 移动到 imgs.push(page.todataurl("image/jpeg", 1.0)) 后面。
  • 新增判断 if (imgs.length === element.length),当 imgs 数组长度等于元素数量时才执行 resolve。

以上就是JavaScript Promise 返回数组时,为什么 e 的长度始终为 0 ?的详细内容,更多请关注www.sxiaw.com其它相关文章!