关于for循环一级作用域是有序的但二级作用域是无序的
wechatide://minicode/VYu6vXmR7K1Y 代码片段
wechatide://minicode/VYu6vXmR7K1Y 代码片段
你是要保证加载的顺序和最初的列表顺序一致吗?
let list = [image1,image2,image3]
let position = 0
let length = list.length
let loop = function(){
let image = list[position]
wx.getImageInfo({
success:(res)=>{
//doSomething
if (++position<length){
loop()
}
}
})
}
wx.getImageInfo()函数是异步的,肯定会导致for循环错位,你要想有序可以使用settimeout实现
var i=0;var timer=setTimeout(function(){console.log(i);var timerThat=this;//定时函数if(i<9){wx.getImageInfo({src:url,success:function(res){i++;console.log(i);//执行你要的代码块;timer=setTimeout(timerThat,50);//下一次循环}})}else{console.log(i);clearTimeout(timer);}},50) |