@interes70

Как использовать setTimeout в each?

Добрый день, получаю данные в формате JSON .
И если их просто выводить то все нормально. Но мне нужно перебирать массив с задержкой.
Так все работает но без задержки.
data = JSON.parse(data);
$.each(data, function(i){
		console.log("ID: " + this.ui_id);
		console.log("Имя: " + this.name_market);
		console.log(""+i);
});

А так перебо происходит задержкой но данные undefined
data = JSON.parse(data);
$.each(data, function(i){
		 setTimeout(function(){
		console.log("ID: " + this.ui_id);
		console.log("Имя: " + this.name_market);
		console.log(""+i);
}, 2000 * i);
});
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
Immortal_pony
@Immortal_pony Куратор тега JavaScript
$.each(data, function(i){
     var element = this;

     setTimeout(function() {
        console.log("ID: " + element.ui_id);
        console.log("Имя: " + element.name_market);
        console.log(""+i);
    }, 2000 * i, element);
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы