var that = this
var arr = []
type.get().then(res=>{
var list = res.data
for(var i in list){
for(var j in list[i].menu){
wx.cloud.downloadFile({
fileID:list[i].menu[j].image
}).then(res=>{
// arr.push(res.tempFilePath)
list[i].menu[j].image = res.tempFilePath
// arr可以存入所有的临时路径,但是为什么不能往list插入临时路径?
that.setData({
list:list
})
})
}
}
})
思路:将数组数据中的图片路径,通过云开发下载api,从云数据库路径(cloud://xxx)修改为临时路径
问题:临时路径可以push进arr数组,却不能插入list数组。请问应该怎么处理?大佬请赐教。。。
异步的问题,.then 执行的时候上面的循环早就执行完了,所以 i 和 j 都是最后一个值,而 push 就没有影响
把 for 循环里的 var 改成 let 应该就可以,let 会进行一个封装,让每一次循环都有一个独立的 i 和 j