Bonjour, en premier voici mon code :
Le problème est le suivant je ne vois pas comment traiter les données récupérer. Si j'ai bien compris le paramètre "success" se lance quand le requête a bien été reçu et ne tient pas compte du temps de réponse des serveurs. La ligne console.log('donnée reçu pour '+idJoueur[i]); me ressort du donnée reçu pour undefined.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function getDonneeLodestone(){ "use strict"; for (var i=0; i<idJoueur.length;i++){ $.ajax({ async: true, type: 'GET', url: urlLodestone+idJoueur[i], success: function(data){ console.log('donnée reçu pour '+idJoueur[i]); retourLodestoneLocalTrackeur[i] = 0; console.log(retourLodestoneLocalTrackeur); }}); } console.log('0'); console.log(donneeJoueurs); }
Ce que j'aimerais avoir :
une boucle FOR qui lance toutes les requêtes et une fonction qui traite les requêtes à l'arrivée de celles ci tout en tenant compte de "Var I" définie dans la boucle for.
donc quelque chose du genre
De ce que j'ai pu lire a droite à gauche il faut travailler avec un callback ou des promises. Le second probleme est qu''etant un neophyte total je ne comprend pas les explications. Est ce que quelqu'un pourrait m'aider tout en m'expliquant le cheminement a suivre et comment cela fonctionne (essayez de détailler un maximum car je suis vraiment un néophyte).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 function getDonneeLodestone(){ "use strict"; console.log('0'); for (var i=0; i<idJoueur.length;i++){ $.ajax({ async: true, type: 'GET', url: urlLodestone+idJoueur[i], "alareception des données": function(data){ console.log('donnée reçu pour '+idJoueur[i]); retourLodestoneLocalTrackeur[i] = 0; console.log(retourLodestoneLocalTrackeur); }}); } console.log('1'); //une fois que toutes les données on été reçu et traités console.log(donneeJoueurs); }
Merci
Partager