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