|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Ingénieur Télécom Inscription : septembre 2011 Messages : 5 ![]() |
Bonjour,
ne sachant trop dans quelle rubrique placer cette demande (Ajax ou Javascript), je la mets dans les deux. je souhaite exécuter une série de tests successivement. Chaque test doit être terminé avant de passer au suivant. Pour les besoins de l'exemple chaque test retourne une valeur après 2 s d'attente (extrait de code php dans ci-dessous). Je m'attends donc à avoir une mise à jour du résultat toutes les 2s. En fonction du résultat du test, la couleur de fond de la cellule variera Or, [si async:true] après 2s, les 4 résultats sont affichés en même temps et la propriété css se met à jour avec une même valeur sans tenir compte du résultat du test [si async:false] après chaque 2s, la console affiche le résultat correct de chaque test mais la propriété css ne se met à jour qu'avec une même valeur sans tenir compte du résultat du test Il me manque quelque chose mais quoi? Code :
|
||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 954 ![]() |
Bonsoir,
ce qu'il faut savoir c'est que le "refresh" de la page n'est pas prioritaire lors de l'exécution d'un script. En mode asynchrone tu n'as aucune garantie que la réponse #1 arrive avant la réponse #3, par exemple. Il te faut dans ce cas attendre la réponse #1 pour lancer la requête #2. En test local la réponse est quasiment immédiate ce qui peut biaiser le résultat. Je te mets un petit exemple qui devrait te faire voir le "principe" de l'utilisation d'une liste de fonction à exécuter et surtout l'utilisation de setTimeout "libérant" le moteur de rendu et l'autorisant à afficher avant relance d'une fonction. Code html :
Il te faudra bien sûr adapter.... |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com