У меня был цикл, в котором я хотел вызвать API несколько раз, например, 500 раз.
API-интерфейсы реализуют ограничение скорости, и даже если нет, просто нехорошо делать столько запросов за очень короткое время.
Поэтому я хотел замедлить цикл. Как?
Оказывается, это довольно просто, как только вы настроите функцию sleep(), которую вам не нужно менять:
const sleep = (milliseconds) => {
return new Promise(resolve => setTimeout(resolve, milliseconds))
}Затем вы можете вызвать ожидание сна(1000) , чтобы останавливать 1 секунду на каждой итерации, например:
const list = [1, 2, 3, 4]
const doSomething = async () => {
for (const item of list) {
await sleep(1000)
console.log('🦄')
}
}
doSomething()Оригинал: “https://flaviocopes.com/how-to-slow-loop-javascript/”