Comment faire une pause dans une fonction en JavaScript ?

Réponses rédigées par Antoine
Dernière mise à jour : 2019-11-24 16:10:58
Thèmes : webmaster - javascript
Question

Comment faire une pause (un sleep) dans une fonction en JavaScript ?

Réponse

Avec les nouvelles évolutions de JavaScript, et pour une plus grande compatibilité, vous devez utiliser l'opérateur await, la déclaration async, et l'objet promise pour effectuer une pause, ou un sleep, dans une fonction JavaScript.

Les fonctions async et await laissent le code attendre explicitement une promesse de résolution ou de rejet, avant de continuer à exécuter le code.

Voici un exemple pour faire une pause dans une fonction en JavaScript :

<script>
function pause(ms) 
{
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function exemple() 
{
  for (let i = 0; i < 100; i++) 
  {
    await pause(1000);
    document.write('Affichage depuis ' + i + ' secondes.<br>');
  }
}

exemple();
</script>