getImageInfo导致页面空白问题

407 阅读1分钟

瀑布流布局需要拿到每个图片的宽高,使用uniapp真机调试、体验版本都能正常显示,只有正式环境是空白页面,于是接下来开始排查

imageList.forEach(img => {
          // 获取图片宽高
          uni.getImageInfo({
            src: img.works_img,
            success: (image) => {
            console.log(image,'image')
            ...
            }
          })
      })

本来以为是foreach循环的问题,页面上其他地方也使用了forEach都能正常展示,所以排除;那就有可能是getImageInfo出问题了

getImageInfo本来是个异步的方法所以用async、await试一下效果

 imageList.forEach(async(img) => {
        const image=await  uni.getImageInfo({src: img.works_img,})
        console.log(image,'image')
        ...

这样image就能打印出来并且正常赋值了,牢记getImageInfo是异步的,想要循环里获取需要写成闭包或者用异步转同步方法