hummingbird
@hummingbird

Как сделать задержку в цикле?

Есть массив с ID. Перебираю его методом forEach.
Пытаюсь реализовать задержку внутри этого цикла, но не выходит. Я не понимаю как использовать setTimeout внутри тела цикла.

Делаю так:
window.getSomething = function(ids) {
	ids.forEach(function(id, i, a) {
		setTimeout(loadSomething(id), 5000);
	});
};


Но задержки нет.

Делаю так:
window.getSomething = function(ids) {
	ids.forEach(function(id, i, a) {
		loadSomething(id);
	});
};

loadSomething = function(id) {
	setTimeout((function() {
		console.log(id);
	}), 5000);
};


Появляется одноразовая задержка. То есть ждем 5 секунд, далее выводятся все ID и все.

Помогите, пожалуйста.
  • Вопрос задан
  • 9391 просмотр
Решения вопроса 1
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
something.forEach(function(element, i){
   setTimeout(function(){
      useMyFunc(element);
   }, 5000 * ++i)
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Вот вам пример, надеюсь поможет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы