Copies de variables dans une boucle
Bonjour a tous,
je souhaite mettre en base de donnée les ping de différents sites, toutes les X secondes.
voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| for (var host = 0; host < hosts.length; host++)
{
var val = host;
ping.promise.probe(hosts[val], {timeout: 10,}).then(function (res)
{
var result = parseFloat(res.avg);
if (min[val] > result)
min[val] = result;
if (max[val] < result)
max[val] = result;
moy[val] = ((moy[val] * qte[val]) + result) / (qte[val] + 1);
qte[val]++;
console.log("val : " + val);
});
} |
mon socis est que le temps que le ping se fasse, la variable val est déja au maximum (3) et donc on modifie systèmatiquement la même position dans le tableau.
le log me donne constamment
val: 3
j'ai tenté de mettre "var val = host;" (il est dans le code) pour créer une nouvelle variable dans chaque instances, sans succès.
ps, le problème se fait aussi pour l'inscription en BDD : la requête est bonne a l'envoi, mais dans l'appel une fois la requête finie, j'ai toujours la dernière requête...
une idée pour corriger cela ?