for(var i=0;i<4;i++){
console.log(i);
this.$http.get('json/room'+this.imgB[i].id+'.json').then(function(response){
console.log(i);
...
}
}
第一个console.log的值是 0 1 2 3
第二个console的值是 4 4 4 4
为什么呢 ?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
闭包问题 循环四次引用的是同一个 i ,输出最后 i++ 的 4,解决办法可以写一个自执行函数,(i)作为函数的变量
简单的例子,当 for 循环里包含 setTimeout 时,
解决办法之一