Comment ralentir une boucle en JavaScript

J'avais une boucle où je voulais appeler une API plusieurs fois, par exemple 500 fois.

Les API implémentent une limitation de débit et même si ce n'est pas le cas, il est juste de faire ces nombreuses demandes en très peu de temps.

J'ai donc voulu ralentir la boucle. Comment?

Il s'avère que c'est assez simple, une fois que vous avez configuré une fonction sleep (), que vous n'avez pas besoin de changer:

const sleep = (milliseconds) => {
  return new Promise(resolve => setTimeout(resolve, milliseconds))
}

Ensuite, vous pouvez appelerawait sleep(1000)pour arrêter 1 seconde à chaque itération, comme ceci:

const list = [1, 2, 3, 4]
const doSomething = async () => {
  for (const item of list) {
    await sleep(1000)
    console.log('🦄')    
  }
}

doSomething()

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: