Ma fonction ne se termine pas
Posté : 19 oct. 2020, 12:04
Bonjour,
Je fais une application web PWA, j'ai du côté serveur du PHP (100% fonctionnel) et du côté "client" du javascript HTML ...
Je "get" des logs sur ma base de donnée, la partie serveur mes les envoies correctement par http :
Je veux les afficher en remplacant par le FK_User par le nom de l'utilisateur, je refais donc une requête sur mon serveur PHP, qui me rend correctement le nom de l'utilisateur :
Maintenant le problème est que je n'arrive pas traité les logs avec le FK passé en nom :
J'ai remarqué grâce à mes console.log que la méthode getUserSuccess ce termine après la méthode getLogSuccess.
Ma question est donc comment puis-je terminé getUserSuccess en premier. J'ai déjà essayé avec ma méthode sleep.
Merci pour votre temps !
Je fais une application web PWA, j'ai du côté serveur du PHP (100% fonctionnel) et du côté "client" du javascript HTML ...
Je "get" des logs sur ma base de donnée, la partie serveur mes les envoies correctement par http :
Code : Tout sélectionner
<Logs><log><FK_user>1</FK_user><jobnumber>150983</jobnumber><notes>nothing</notes><latitude>51.4311872</latitude><longitude>-2.6180297</longitude><time>2020-10-16 9:32:56</time></log> ... </Logs>
Code : Tout sélectionner
<Users><user><nom>test</nom></user></Users>
Code : Tout sélectionner
function getLogSuccess(data, text, jqXHR) {
$(data).find("log").each(function () {
actionGetNomUser($(this).find("FK_user").text(), "getNomUser", getUserSuccess, getUserError);
sleep(1000);
if(sessionStorage.getItem("nomUserLog") != null){
var sel = document.getElementById('log');
var opt = document.createElement('option');
console.log(sessionStorage.getItem("nomUserLog"));
opt.appendChild(document.createTextNode("" + $(this).find("time").text() + " : " + sessionStorage.getItem("nomUserLog") + " - " + $(this).find("jobnumber").text() + " - " + $(this).find("notes").text()));
opt.value = 'option value';
sel.appendChild(opt);
}else{
}
});
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function getUserSuccess(data, text, jqXHR) {
var nom = $(data).find("nom").text();
sessionStorage["nomUserLog"] = nom;
console.log( sessionStorage.getItem("nomUserLog"));
}
Ma question est donc comment puis-je terminé getUserSuccess en premier. J'ai déjà essayé avec ma méthode sleep.
Merci pour votre temps !