Bonjour à tous.
Voilà la situation.
Je fais des appels DWR successifs (1, 2 jusqu'à 5 admettons) pour récupérer des donnéesc côté serveur et mettre à jour des tableaux.
Je me suis arrangé pour faire "proprement" et n'utiliser qu'une seule fonction callback, car elle fait tout le temps la même chose.
Pour ça, j'utilise des closures dans mes appels, notamment pour pouvoir conserver des paramètres clients dans mon callback et les utiliser dans mon traitement (vParamsJS).
Je n'ai donc qu'une seule fonction (majListe) qui doit être appelée au retour de chaque appel serveur.
Le souci avec ce code, c'est qu'au fur et à mesure que les appels DWR renvoient leur réponse, ils rentrent tous dans le même callback (majListe) et les données s'écrasent. Au final, aucune liste n'est mise à jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Je suis parti ensuite sur l'idée de créer des instances différentes de majListe : une instance par appel DWR. J'ai donc passé la fonction en attribut d'un objet.
Mon appel devient alors :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
Problème, ça ne fonctionne toujours pas. Même symptôme, j'ai l'impression que le 2ème appel écrase les données serveur ce qui provoque le crash de la mise à jour de la 1ère liste.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
J'en fais appel à vous parce que là je suis un peu à cours de solution!
PS : la solution de créer autant de callback que d'appel fonctionne, mais comme j'ai potentiellement 25 appels différents, ça me dérange un peu d'écrire 25 callback identiques...

 

 
		
		 
        

 
			
			


 
			 
   


 [DWR][JavaScript] Plusieurs appels asynchrones et un seul callback
 [DWR][JavaScript] Plusieurs appels asynchrones et un seul callback
				 Répondre avec citation
  Répondre avec citation
 
  
  
  
 
 
  
  
 
 
			 
   
  
 

Partager