Как работает асинхронность цикле?
Объясните, пожалуйста, как работают асинхронные вызовы цикле
for(let i=0;i<10;i++){
setTimeout(()=>console.log(i),5000)
}
Непонятно почему значения i не выводятся каждые 5 секунд,а выводятся все цифры от 0 до 9 спустя 5 секунд.
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
Вы в плотном цикле (сразу) заказываете десять отложенных действий, которые должны произойти через пять секунд. Вот они все и происходят через пять секунд.
for (let i = 0; i < 10; i++) {
setTimeout(() => console.log(i), 1000 * (i + 1))
}