Я пытаюсь запустить setTimeout внутри цикла for. Я выполнил рекомендации по перемещению setTimeout в отдельную функцию. Однако все, кажется, срабатывает сразу, в конце цикла.setTimeout in for loop срабатывает сразу
В этом примере я хотел бы, чтобы console.logs запускались каждую секунду.
function setDelay(i) {
setTimeout(function(){
console.log(i);
}, 1000);
}
for (var i = 1; i <= 10; ++i) {
setDelay(i);
}
Мне действительно интересно узнать о выходе, я думаю, переменная 'i' сохраняет значение, потому что оно в другой функции? Если бы это была переменная цикла, то она просто вывела бы '10' десять раз. – TJHeuvel
Мне просто любопытно: почему вы задаете вопрос и даже не беспокоитесь, отвечая на комментарии и ответы людей? – sbedulin