Comment faire un sleep dans une fonction JavaScript ?

Une fonction permet d'exécuter le code après un nombre de millisecondes défini en paramètre sans bloquer ni l'exécution, ni le navigateur.

La fonction sleep() est une fonction qui permet d'endormir un programme pendant une durée définie en paramètre. Cette fonction existe dans de nombreux langages, mais pas en JavaScript. La raison de ce manque est la conception et l'utilisation du langage JavaScript.

Le JavaScript est un langage qui fonctionne avec un processus unique, contrairement à d'autres langages comme le PHP. Si l'on met en pause l'exécution du programme, par exemple, en utilisant une boucle volontairement longue, le processus d'utilisation du JavaScript est complètement bloqué, ce qui parasite également le navigateur et empêche l'utilisateur d'interagir avec la page web. Si le blocage est trop long, cela dégrade l'expérience de l'utilisateur et le navigateur finit généralement par afficher un message lui demandant s'il souhaite arrêter le processus, car il prend trop de temps.

Si vous souhaitez exécuter du code après avoir attendu un moment, le meilleur moyen de le faire en JavaScript est d'utiliser la fonction setTimeOut(). Cette fonction exécute une fonction après un nombre de millisecondes défini en paramètre sans bloquer ni l'exécution de code JavaScript, ni le navigateur. Vous devez donc diviser son code en 2 fonctions :

function traitement()
{
//Traitement à effectuer sur la page
setTimeout(suiteTraitement, 10000) //Attendez 10 secondes avant de continuer dans la fonction suivante
}
function suiteTraitement()
{
//Continuez le traitement après la pause dans cette fonction
}

JavaScript