1
我遇到了一个问题,那就是我设置了一堆超时调用,并且希望超时功能引用当前循环中的元素。替代循环中的“let”关键字?
这是个什么结果看起来像:
var createTimedMessages = function(arr, collection){
var timeLimit = 2000;
for(var i = 0; i<arr.length; i++){
let el = arr[i];
collection.push(el);
$timeout(function removeElement(){
collection.removeMatch(el);
}, timeLimit);
}
}
但我意识到这不会有因缺乏let关键字支持一些年龄稍大的浏览器。什么是一个好的解决方法?
注意:这是在角度,因此$超时而不是setTimeout。
使用嵌套函数/关闭 - 它已经完成(而像这样工作)多年。 – user2864740
是的,对不起,刚刚意识到@ user2864740找到了更好的dup目标。 – Doorknob
@门把手*但是*这个问题有更好的IIFE覆盖面。把两者放在一起 - >赢。 – user2864740