wx.chooseMedia({
count: 9,
mediaType: ['image'],
sourceType: ['album'],
maxDuration: 30,
camera: 'back',
success(res) {
var list = res.tempFiles
for(var i=0 ; i<list.length; i++){
wx.getImageInfo({
src: list[i].tempFilePath,
success: function(res){
_this.data.imglist.push({
path : res.path,
width : res.width,
height : res.height,
size : res.width * res.height
})
}
})
}
try{
console.log(_this.data.imglist);
wx.setStorageSync('key', _this.data.imglist)
}catch{}
wx.navigateTo({
url: '/pages/pinjie/pinjie',
})
}
我获取本地图片,获取图片的路径、长、宽存入数组imglist,再将imglist数组存入缓存,再跳转值pinjie界面。
打印imglist数组和appdata都显示有值
但是缓存和下一界面的imglist数组没有值。
并且如果我再次输入的话,下一界面会有上一次输入的值,这是什么问题?
JS异步问题。
1.利用async/await解决
2.for循环外提前声明数组,然后请求结果存入数组的对应索引位置
异步转同步 async/await