循环下载图片到临时文件只显示一个,你们有遇到过吗?
发布于 6 年前 作者 xiulan88 948 次浏览 来自 问答
onLoad: function (options) {
  var lent = [
    "https://wx.qlogo.cn/mmhead/XtxAEvJhLWZbe5xLnXFw1EjI54NkntBricIbfBkvNiajE/64",
    "https://wx.qlogo.cn/mmhead/XtxAEvJhLWZbe5xLnXFw1EjI54NkntBricIbfBkvNiajE/64",
    "https://wx.qlogo.cn/mmhead/XtxAEvJhLWZbe5xLnXFw1EjI54NkntBricIbfBkvNiajE/64"]
 
  var temp = []
 
  for (var i = 0; i < lent.length; i++) {
    wx.downloadFile({
      url: lent[i],
      success(res) {
        if (res.statusCode === 200) {
          temp[i] = res.tempFilePath
        }
 
      }
    })
  }
  console.log(temp)
}
3 回复

典型的闭包问题,可以通过立即函数或是forEach写箭头函数来解决。

for (var i = 0; i < lent.length; i++) {

    let index = i

    wx.downloadFile({

      url: lent[index ],

      success(res) {

        if (res.statusCode === 200) {

          temp[index ] = res.tempFilePath

        }

 

      }

    })

  }

回到顶部