Donc, je reproche quelques processus et j'essaie de comprendre le PID du processus lorsqu'il obtient certaines données, voici mon code:
stdout (78748): 18/7/13 15:46:26 stdout (78748): 18/7/13 15:46:26 stdout (78748): 18/7/13 15:46:27
3 Réponses :
Vous rencontrez un problème de précaution avec la variable Exemple simplifié de code Agissant comment vous l'avez: P> ChildProcess code>. Les variables en JavaScript sont fonctionnées. Pour cette raison, la variable n'est pas exclusive à la boucle. for (var i = 0; i < 3; ++i) {
(function() {
var someNumber = i;
setTimeout(function() {
console.log(someNumber);
}, 100);
})();
}
ressemble à un problème de fermeture. Passez la variable de boucle à une fonction de sorte que la portée n'est pas affectée.
stdout (10964): Microsoft Windows [Version 6.2.9200] stdout (10964): Microsoft Windows [Version 6.2.9200] stdout (10964): Microsoft Windows [Version 6.2.9200]
Fait amusant: en modifiant simplement Remarque, cependant, cela ne fonctionne que si la variable est dans la portée de la boucle. Déclarez-le avant la boucle et vous obtenez les mêmes résultats que var code> à laisse code> à l'intérieur du pour code> initialisateur, vous évitez ce problème! P>
var code>. P>