Exercice asynchrone
Le passage vers l'asynchrone
Sauvegarder la page synchrone, la recopier vers un autre page qui va devenir la version asynchrone. Recopier la fonction getListOfStudents() vers une autre fonction getListOfStudentsAsync(), où la méthode open de l'objet XMLHttpRequest sera appelée "en asynchrone". Lors de la réception d'un nouveau bloc XML, celui-ci est à transformer en HTML et à afficher immédiatement. Avant d'appeler la méthode open de l'objet XMLHttpRequest, si jamais le readyState de cet objet est différent de zéro, on abortera toute ancienne transaction en attente avant de regénérer du traf
La mise à la retraite du bouton de déclenchement
Rajouter dans les fonctions JavaScript une fonction mainLoop(), qui, avant de retourner, doit assurer sa propre relance après un délai de 300 ms. mainLoop() doit contrôler si le texte présent dans la zone de texte a bougé depuis le dernier contrôle. Si (et seulement si) c'est le cas, un nouvel affichage des données sera déclenché. Le premier appel à mainLoop() est à faire 300 ms après le chargement de la page. Cette scrutation périodique rend le bouton superflu.