{
await delayedLog(item);
}
console.log('Done!');
}
Такой примерчик позволяет ждать асинхронно каждую итерацию цикла, это понятно.
А если внутри цикла сделать async функцию, и в ней ждать через await'ы, то это не работает.
Я правильно это понимаю, или просто не так пишу?
Вы хотите сказать про for await?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of
for (let i = 1; i < 10; i++) { async function func(x = i) { await new Promise((resolve) => { setTimeout(() => { console.log(x) resolve() }, 3000) }) } func() } Вот такой пример мне выдаёт сразу 10 консолей. И вот я пытаюсь понятно, а почему так происходит.
async функция всегда возвращает промис. нужно await func()
Обсуждают сегодня